2017-02-15 71 views
-2

我發送一個帶有Ajax請求的Formdata並嘗試在我的php文件中讀取它。但在PHP文件中,當我嘗試使用我的密鑰讀取$ _POST中的內容時,我什麼都看不到。我不明白爲什麼。Php無法識別formdata通過Ajax發送js

我在論壇上做了一些研究,並試圖瞭解爲什麼我的代碼不能按我的想法工作。

編輯:

只見型動物的聯繫,但我不知道我有什麼辦法做到這一點不JQuery的。

我的Ajax調用

function pageSend_DataRun() 
{ 
    var formElement2 = document.forms.namedItem("data_to_send_general"); 
    ajaxCallUrl ("send.php",new FormData(formElement2), pageconfig_acq_generalDataCallback); 
} 


function ajaxCallUrl (url, params, callback /*, ... */) 
{ 

var xhr = new XMLHttpRequest(); 
xhr.callback = callback; 
xhr.arguments = Array.prototype.slice.call(arguments, 3); 
xhr.onload = ajaxSuccess; 
xhr.onerror = ajaxError; 
xhr.open("POST", url, true); 
xhr.setRequestHeader("Content-Type", "multipart/form-data"); 
xhr.send(params); 
} 

EDIT2:

,我發現那裏的解決方案:Using FormData object, the server receives an empty POST

我在阿賈克斯配置中刪除線,以 「setRequestheader」,並開始工作。

function ajaxCallUrl (url, params, callback /*, ... */) 
    { 

    var xhr = new XMLHttpRequest(); 
    xhr.callback = callback; 
    xhr.arguments = Array.prototype.slice.call(arguments, 3); 
    xhr.onload = ajaxSuccess; 
    xhr.onerror = ajaxError; 
    xhr.open("POST", url, true); 

    xhr.send(params); 
    } 
+0

嗨,你可以在PHP中提供ajax調用和響應處理嗎? – Jaay

+0

您可以根據您的參考代碼使用XMLHttprequest –

+0

您未傳遞任何'$ _POST'數據 – Beginner

回答

0

我在「EDIT2」部分編輯我的問題的答案。 希望它會有所幫助!