使用javascript加载/修改/保存XML

时间:2011-10-19 08:59:34

标签: php javascript xml dom

在此问题被盖章之前,我很抱歉!我已经阅读了所有重复的问题,如果有的话,它让我更加困惑。所以也许这个问题略有不同。

我写了一个小的Javascript库来进行ajax调用,并从图形facebook API中提取和解析信息。

这使我能够在我的网页上显示我的所有页面状态。然而,我即将发布,我已经做了尽可能多的测试。

然而。我肯定会发生错误,而且我写了许多错误信息,等等等等。

我想要做的是将我的所有错误保存在xml文件中。

因此,当发生错误时,我希望javascript从服务器加载xml文件,添加错误,然后保存更改。

我知道如何使用XmlHttpRequests加载xml文档,而且我确信我可以通过使用dom操作来弄清楚如何修改xml。

我真正想知道的是。我如何保存这些更改?它会自动保存吗?

或者我是否必须“以某种方式”将更新后的xml版本传递给php并获取保存它?

我不太确定该怎么做。

我会使用mySQL和php,但这意味着“以某种方式”将错误信息传递给php,然后保存它。

然而,id更喜欢XML,因为我是唯一会读取xml文件的人。

非常感谢。

Alex

1 个答案:

答案 0 :(得分:0)

  

或者我是否必须“以某种方式”将更新后的xml版本传递给php并获取保存它?

是的,您将需要使用XML HTTP请求将XML DOM发送到PHP可以保存它的服务器:

function postXML(xmlDOM, postURL, fileName, folderPath){
try{     
  // Create XML HTTP Request Object
  oXMLReq = new ActiveXObject("MSXML2.XMLHTTP.3.0");
  // Issue Synchronous HTTP POST 
  oXMLReq.open("POST",postURL,false);
  // Set HTTP Request Headers
  if(fileName != null){ oXMLReq.setRequestHeader("uploadFileName", fileName); }        // What should file be named when saved on server?
  if(folderPath != null){ oXMLReq.setRequestHeader("uploadDir", folderPath); }   // What folder should file be saved in on server?
  // SEND XML
  ///WScript.Echo(xmlDOM.xml);
  oXMLReq.send(xmlDOM.xml);
  return oXMLReq.responseText;
 }catch(e){
  return "postXML failed - check network connection to server";
 }
}