jQuery.Post/Ajax POST到PHP用于编写XML文件

时间:2010-08-17 09:20:40

标签: php jquery xml jquery-post

我在jquery中有一个客户端代码,从客户端代码我需要在服务器端以XML文件的形式存储一些数据,这些数据是用PHP编写的。我已经完成了编写PHP文件的代码。但是,我无法将客户端代码传递给PHP文件。 jQuery帖子也无法正常工作。我尝试过查询字符串,但正如我所说的数据太大,因此无效。

有什么建议吗?

感谢您的时间和考虑。:)

一些测试代码:

jQuery POST

$.post("test2.php", { userdata: "test"} );

Ajax POST

$(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

2 个答案:

答案 0 :(得分:1)

在表单数据的情况下传递serializeArray()。或者从要发送的内容中创建一个数组。例如

var sendingData = [];
sendingData = fillinData();
   OR
sendingData = $("form").serializeArray();
$.post("url.php", { xmlData: sendingData }, function(data){   });

在服务器端循环遍历该数据以创建xml。您应该使用数组,以便无论内容的大小是什么,它都包含在一个可以在服务器端获取的变量中。

Convert js Array() to JSon object for use with JQuery .ajax

答案 1 :(得分:0)

据我所知,您的问题不是接收和写出数据,而是将数据写入存储在服务器上的文件中。为此你需要使用像php函数fopen:

这样的东西
$handle = fopen("filename.xml", 'w');
fwrite($handle,$datafromclient);
fclose($handle);

我不确定为什么要将数据写入Web服务器上的文件而不是将信息存储在数据库中,但我确定您有理由。请务必考虑安全隐患,并确保人们不能上传可执行代码并正确设置权限(并正确清理数据)。

祝你好运:)