2012-02-28 79 views
-1

我有我的客户端下面的脚本,我填补了表格并发送至服务器进行处理:接收XML内容:阿贾克斯

  function AjaxCall(){ 
      var xmlval='<person><name>'+personObject.GetPersonName()+'</name> <contact>'+personObject.GetPersonContact()+'</contact><about>'+personObject.GetPersonName()+'</about></person>'; 
       //var datas='?xmlvalue='+xmlval; 
       xmlhttp.open("POST",'ajaxExecutePersonData.php'+xmlval,true); 

       xmlhttp.setRequestHeader("Content-Type", "text/xml"); 

       xmlhttp.send(xmlval); 
       } 

我需要知道我怎么能接受这个职位到ajaxExecutePersonData.php

并得到响应。

我正在发送xml对象。

在此先感谢

+1

我不认为你是在reeving PHP结束的东西,因为你没有发送它作为查询字符串。 – Arfeen 2012-02-28 08:26:29

+0

@Arfeen:是的,他甚至在GET方面做。不POST :) :)为GET使用'ajaxExecutePersonData.php?xmlval ='+ xmlval(但你需要确保它是urlencoded) – Stefan 2012-02-28 08:33:33

+0

我想发送XML对象。你可以给我想法我怎么能做到这一点? – 2012-02-28 10:48:06

回答

0

你需要在你的情况

var params = "xmlval=" + xmlval; 

设置XML作为PARAM这样

var params = "foo=bar&bar=foo"; 

,然后设置相应的头就像

xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xmlhttp.setRequestHeader("Content-length", params.length); 
xmlhttp.setRequestHeader("Connection", "close"); 

,并用这个替换send()调用:

xmlhttp.send(params) 

然后你在你的php脚本中有$ _POST [“xmlval”]。

希望这可以帮助:)

+0

实际上我想发送一个xml脚本作为xml对象...您是否解释过这方面的内容? – 2012-02-28 10:40:32

+0

好吧,你的术语很奇怪:) xml不能是脚本,因为脚本是可运行的。你必须用'simplexml_load_string($ _ POST [“xmlval”]''来解释PHP端的xml,所以是的,我想到了这种情况。 – Stefan 2012-02-28 10:47:34

+0

在这种情况下,我发送一个查询字符串?还是一个xml对象? – 2012-02-28 10:49:50