2016-06-14 48 views
1

我不得不說我看到了幾十個類似於我的問題的主題,但大多數都是拼寫錯誤或拼寫錯誤。PHP不會通過AJAX的POST接收數據

我的PHP文件似乎沒有從AJAX POST函數(我收到未定義的索引)接收任何數據。這裏是我的代碼:

var login = $("#log_l").val(); 
var pwd = $("#pwd_l").val(); 
alert(login); 
alert(pwd); 
$.ajax({ 
    type: "POST", 
    url: 'app/menu/login.php', 
    data: { 
     login1: login, 
     pwd1: pwd, 
    }, 
    cache: false, 
    success: function (data) { 
     if (data == 'fail') { 
      alert('test2'); 
      $('#failure_log').show(); 
     } 
     else { 
      document.location = " {$conf->action_root}postlogin"; 
     } 
    } 
}); 
return false; 

而且login.php中:

$login = $_POST['login1']; 
$haslo = $_POST['pwd1']; 
... 

我試圖與這兩個:

login1:login, 
pwd1:pwd, 

和:

'login1':login, 
'pwd1':pwd, 

但在這兩種方式'logi .php文件中收到「未定義索引」錯誤n1'和'pwd1'變量。 我檢查了ajax'達到'文件,它甚至從.php文件接收到回聲,但變量不被髮送/接收。

你有什麼想法可能是錯的嗎?

+0

你看過瀏覽器開發工具中的AJAX請求/響應嗎?你有沒有在項目中包含jQuery庫?是否有任何錯誤報告?你在網絡服務器上運行這個嗎? –

+0

**切勿存儲純文本密碼!**請使用PHP的[內置函數](http://jayblanchard.net/proper_password_hashing_with_PHP.html)來處理密碼安全性。如果您使用的PHP版本低於5.5,則可以使用'password_hash()'[兼容包](https://github.com/ircmaxell/password_compat)。確保你[不要逃避密碼](http://stackoverflow.com/q/36628418/1011527)或在哈希之前使用其他任何清理機制。這樣做*更改密碼並導致不必要的附加編碼。 –

+0

我在瀏覽器中沒有收到任何錯誤..只有信息「導航到:...」 – Macjej

回答