我在javascript字符串中有xml页面内容。我需要使用php将其保存到服务器端的my.xml中。但我似乎无法通过POST方法传递xml-content-string值。我尝试了file_get_contents和curl,但发现这不是我想要的,因为我的xml内容是字符串格式而不是文件。 任何人都可以帮我将这个字符串保存在javascript中作为正确的xml内容。
提前致谢
预
我正在附上我的代码
page1.php中
<form name = "frm_first" method = "POST">
<input type = "hidden" name = "xml_string">
...............
<script type = "text/javascript" language = "javascript">
function getDataXML(){
xmlString = chart.getDataXML();// This is where I get my xml data into the string
document.frm_first.xml_string.value = xmlString;
alert(xml_string); //Good
document.frm_first.submit();
}
</script>
Page2.php //这是提交帖子的页面。
<?php
echo print_r($_POST);//xml_string vaiable is empty. Other variables are getting displayed.
$domtree = new DOMDocument('1.0','UTF-8');
$domtree->loadXML($_POST['xml_string']);// Error :empty string supplied as input
$domtree->save("my.xml"); //Yes , I have access to the file.
?>
$ _ POST ['xml_string']为空是我的问题。其他变量通过POST传递。
答案 0 :(得分:0)
当我尝试保存XML文件时,用PHP调整标题就行了:
header("Content-Disposition: attachment; filename=file.xml");
但是发送XML应该可以作为字符串。你收到任何错误信息吗?
答案 1 :(得分:0)
很抱歉回答我自己的问题,但认为它也可能对其他人有用。 我做了一个if array_key_exists('xml_string',$ _POST)
<?php
if array-_key_exists('xml_string', $_POST)
{
echo print_r($_POST);
$domtree = new DOMDocument('1.0','UTF-8');
$domtree->loadXML($_POST['xml_string']);
$domtree->save("my.xml");
?>
现在$ _POST变量正常进入。