Bjo*_*orn 3 javascript xml ajax jquery
在谷歌搜索了几个小时后,我仍然坚持这个问题.希望你们能帮助我.
我正在构建一个应用程序,让用户可以为相册设计自己的页面.它首先使用XML为每个页面加载标准格式.使用JQuery通过AJAX调用加载XML,如下所示:
$.get('http://www.domain.com/ajaxcall.php', function(responseXML) {
$xmlDoc= $(responseXML);
)}
Run Code Online (Sandbox Code Playgroud)
XML文件现在作为对象加载,我可以在其上执行JQuery方法,这减少了我的代码量.
用户侧的编辑保存在$ xmlDoc中.因此,当用户在页面上拖动照片时,新的坐标将保存为该照片的属性.完成所有用户编辑后,我想导出新的XML并将其保存到服务器.这是我的问题开始的地方.由于我已经将XML作为JQuery对象加载(通过使用$(responseXML)),因此我无法将其作为XML文件导出.我通过调用$ .isXMLDoc($ xmlDoc)检查了这个,它以false响应.
由于将XML转换为对象非常容易,我想必须有一种方法可以反过来.有什么想法吗?
原始文件中的XML:
<pages>
<page bgcolor="0099cc" titlecolor="f8f8f8" subtitlecolor="000000">
<title>test</title>
<subtitle></subtitle>
<photo id="458267411204" name="" picture="http://www.domain.com/picture.jpg" height="540" width="720" x="25" y="0">
<creator id="712241204" name=""/>
</photo>
</page>
</pages>
Run Code Online (Sandbox Code Playgroud)
我找到了解决方案.我按以下方式进行Ajax调用:
$.ajax({
url: "http://www.domain.com/ajaxcall.php"?,
type: "POST",
contentType: "application/xml",
processData: false,
data: $xmlDoc.context,
success: function(data) {
alert('success');
}
});
Run Code Online (Sandbox Code Playgroud)
然后在ajaxcall.php中我处理文件并将其保存到服务器:
$xmlcontent = $GLOBALS["HTTP_RAW_POST_DATA"];
$handle = fopen($_SERVER["DOCUMENT_ROOT"].'/userfiles/xml/book.xml', 'wb');
fwrite($handle,$xmlcontent);
fclose($handle);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3821 次 |
| 最近记录: |