2013-02-25 41 views
2

首先 - 不,這不是一個跨站請求問題。 Javascript和PHP來自同一臺服務器。

這是Javascript代碼。

var form_data = { 
    email: email, 
    password: password 
}; 

$.ajax({ 
    type:  'POST', 
    url:   '/Login.php', 
    data:   form_data, 
    success:  function(jsonResponse){ 
     console.log("Login returned via 'success'."); 
    }, 
    error:  function (xhr, textStatus, error) { 
     console.log("Login returned via 'error'."); 

     // These are always empty: 

     console.dir(xhr); 
     console.dir(textStatus); 
     console.dir(error); 
    } 
}); 

這裏是PHP代碼:「登錄通過‘錯誤’返回」

$response = array('success' => true); 
header('content-type: application/json'); // This line makes no difference. 
echo json_encode($response); 
return;     

不管我做什麼,控制檯總是打碼。

此外,它返回後,它強制在客戶端上刷新頁面。

我已經很少留下毛髮了!

任何幫助表示讚賞。提前致謝!

+2

是您的PHP腳本returing 200個狀態碼?其他任何通常都會被解釋爲錯誤。 – datasage 2013-02-25 18:07:26

+2

這是在unix服務器上嗎? 'login.php'和'login.php'不一樣。而不是一個固定的+無用的錯誤消息,而不是'console.log('Login return:'+ error);'並讓系統告訴你什麼是錯的? – 2013-02-25 18:08:23

+0

通過您最喜愛的瀏覽器開發工具檢查響應。看看它是否以成功的HTTP狀態返回200. – feeela 2013-02-25 18:09:12

回答

-2

嘗試

$response = array('success' => true); 
header('content-type: application/json'); // This line makes no difference. 
echo json_encode($response); 
exit; 

還要確保沒有其他輸出從腳本發送和檢查返回頭在控制檯