2014-08-31 133 views
-1

我想訪問我通過Ajax發送的數據,我回來了我的回聲,但不是我傳遞,我做錯了什麼?不返回與AJAX AJAX數據

$.ajax({ 
    url: 'http://www.example.php', 
    data : { 'foo' : 'bar', 'bar2' : 'foo2' }, 
    processData: false, 
    contentType: false, 
    type: 'POST', 
    success: function(data){ 
    console.log('success data '+data); 
    } 
}); 

$data = $_POST['foo']; 
$data2 = $_POST['bar2']; 
echo('almost'); 
echo($data); 
echo($data2); 
echo('almost'); 

控制檯讀取成功數據almostalmost

+1

[** echo **](http://php.net/manual/en/function.echo.php)是一種語言結構,而不是函數。 – 2014-08-31 23:02:03

回答

1

你的Ajax請求是不正確,你告訴jQuery.ajax不處理你的數據和按原樣發送,這不會工作

$.ajax({ 
    url: 'http://www.example.php', 
    data : { 'foo' : 'bar', 'bar2' : 'foo2' }, 
    type: 'POST', 
    success: function(data){ 
    console.log('success data '+data); 
    } 
}); 

您的服務器端腳本需要應用程序/ x-www-form-urlencoded內容類型,這是jQuery.ajax默認執行的操作,但如果您告訴它不處理數據或設置內容類型,則不會。

+0

文件上傳使用'multipart/form-data'而不是'application/x-www-form-urlencoded'。如果你想用ajax上傳文件,你必須使用一個FormData對象,並關閉流程數據和內容類型。 – Musa 2014-08-31 23:27:03