我在服务器上有一个xml文件,我这样检索:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onload = function() {
var xmlDoc = xmlhttp.responseXML;
//I modify the XML here!
}
xmlhttp.open("GET", "http://localhost:8888/car.xml", false);
xmlhttp.send();
我现在想要使用Javascript将修改保存回服务器上的文件。我试过了xmlhttp.open("POST"...
,但它没有用。任何想法都会有很大的帮助!
编辑:
所以我给了PHP一个但不能让它工作。这就是我所拥有的:
$xmlFile = 'http://localhost:8888/car.xml';
$xml = simplexml_load_file($xmlFile);
$car = $_POST['car'];
echo $car;
$id = 0;
foreach($xml->data->car as $item)
{
if($item['id'] > $id)
{
$id = $item['id'];
}
}
$newsXML = new SimpleXMLElement("<car></car>");
$newsXML->addAttribute('id', $id++);
$xml->appendChild(newsXML);
file_put_contents('http://localhost:8888/car.xml', $xml->asXML());
答案 0 :(得分:-1)
我将假设MAMP中的P是PHP,我不太清楚,但你创建了一个PHP文件,它从$ _POST(http://php.net/manual/en/reserved.variables.post.php)对象获取更新的数据,在PHP中构建一个DOM树,并将其保存到您需要的地方。
我认为表单节点元素可能是你需要的,因为表单元素有一个action属性(http://www.htmlcodetutorial.com/forms/_FORM_ACTION.html),它定义了哪个页面将接收POST数据。此页面将处理文件的写入,而不是javascript。
基础是你需要两个文件,一个文件包含一个表单元素。 form.php的:
<form action="submit.php" method="POST">
<input type="text" name="name"></input>
</form>
submit.php:
<?php
echo 'Hello ' . htmlspecialchars($_POST["name"]) . '!';
?>
这样的事情应该向您展示如何在网站上提交数据的基础知识,或者您可以放弃MAMP堆栈并按照其他人的建议使用NodeJS。