2012-02-28 82 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