我在jquery中有一个客户端代码,从客户端代码我需要在服务器端以XML文件的形式存储一些数据,这些数据是用PHP编写的。我已经完成了编写PHP文件的代码。但是,我无法将客户端代码传递给PHP文件。 jQuery帖子也无法正常工作。我尝试过查询字符串,但正如我所说的数据太大,因此无效。
有什么建议吗?
感谢您的时间和考虑。:)
一些测试代码:
$.post("test2.php", { userdata: "test"} );
$(document).ready(function()
{
$(document).ready(function()
{
$.ajax({
type: "POST",
url: "test2.php",
data: "userdata=" + "test"
});
});
});
PHP代码
$test = $_POST['userdata']; $document = new DOMDocument();
$document->load("collection.xml");
//Write XML file generation code
答案 0 :(得分:1)
在表单数据的情况下传递serializeArray()。或者从要发送的内容中创建一个数组。例如
var sendingData = [];
sendingData = fillinData();
OR
sendingData = $("form").serializeArray();
$.post("url.php", { xmlData: sendingData }, function(data){ });
在服务器端循环遍历该数据以创建xml。您应该使用数组,以便无论内容的大小是什么,它都包含在一个可以在服务器端获取的变量中。
答案 1 :(得分:0)
据我所知,您的问题不是接收和写出数据,而是将数据写入存储在服务器上的文件中。为此你需要使用像php函数fopen:
这样的东西$handle = fopen("filename.xml", 'w');
fwrite($handle,$datafromclient);
fclose($handle);
我不确定为什么要将数据写入Web服务器上的文件而不是将信息存储在数据库中,但我确定您有理由。请务必考虑安全隐患,并确保人们不能上传可执行代码并正确设置权限(并正确清理数据)。
祝你好运:)