Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 写入现有XML文件_Javascript_Php_Jquery_Html_Xmlhttprequest - Fatal编程技术网

Javascript 写入现有XML文件

Javascript 写入现有XML文件,javascript,php,jquery,html,xmlhttprequest,Javascript,Php,Jquery,Html,Xmlhttprequest,这就是任务。 我的公共dropbox文件夹中有一个现有XML文件 通过以下教程,我知道如何从XML文件中读取值 并将2行更改为以下内容 xmlDoc=loadXMLDoc("https://dl.dropboxusercontent.com/u/4171179/testValues.xml"); x=xmlDoc.getElementsByTagName("growth"); 但我如何才能写入该文件?说我想换衣服 <growth>1.25</growth> 到 如何

这就是任务。 我的公共dropbox文件夹中有一个现有XML文件

通过以下教程,我知道如何从XML文件中读取值

并将2行更改为以下内容

xmlDoc=loadXMLDoc("https://dl.dropboxusercontent.com/u/4171179/testValues.xml");

x=xmlDoc.getElementsByTagName("growth");
但我如何才能写入该文件?说我想换衣服

<growth>1.25</growth>

如何做到这一点,甚至可能吗

问候


Anders

据我所知,Javascript不允许写入本地硬盘或服务器上的任何文件。这是出于安全考虑。因此,您可以做的最好的事情是对服务器进行Ajax调用,并在XML文件中进行更改

我建议您使用Ajax,因为这样您就不必一直刷新页面。您可以查看Jquery,了解一种非常快速和简单的ajax调用方法

你在什么样的服务器上运行你的网站?Apache PHP还是Windows.NET

编辑: 只是一个简单的jqueryajax示例调用

然后在PHP服务器上

<?php
   $growth_post = $_POST["growth"]; 
   ... code to handle the data ...

   $doc = new DOMDocument(); 
   $doc->load("https://dl.dropboxusercontent.com/u/4171179/testValues.xml");
   $items = $doc->getElementsByTagName("data"); 

   foreach( $items as $item ) {
        $growth = $item->getElementsByTagName("growth"); 
        $growth->item(0)->nodeValue = $growth_post;
    }
    $doc->save("https://dl.dropboxusercontent.com/u/4171179/testValues.xml")
?>
但是您必须确保您对dropbox文件具有写入权限

$.ajax({  
    type: "POST", 
    url: "some.php", 
    data: { name: "John", location: "Boston" }
}).done(function( msg ) {
    alert( "Data Saved: " + msg );
});
<?php
   $growth_post = $_POST["growth"]; 
   ... code to handle the data ...

   $doc = new DOMDocument(); 
   $doc->load("https://dl.dropboxusercontent.com/u/4171179/testValues.xml");
   $items = $doc->getElementsByTagName("data"); 

   foreach( $items as $item ) {
        $growth = $item->getElementsByTagName("growth"); 
        $growth->item(0)->nodeValue = $growth_post;
    }
    $doc->save("https://dl.dropboxusercontent.com/u/4171179/testValues.xml")
?>