2016-06-14 14 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ファイルに "Undefined index"エラーが表示されます「n1」および「pwd1」変数。 ajaxがファイルに到達し、.phpファイルからエコーを受け取ることさえ確認されましたが、変数は送受信されません。

何が間違っている可能性がありますか?

+0

ブラウザのデベロッパーツールでAJAXリクエスト/レスポンスを見たことがありますか?プロジェクトにjQueryライブラリを含めましたか?エラーが報告されていますか?あなたはこれをWebサーバー上で実行していますか? –

+0

**プレーンテキストのパスワードを保存しないでください!**パスワードのセキュリティを処理するには、PHPの[組み込み関数](http://jayblanchard.net/proper_password_hashing_with_PHP.html)を使用してください。 5.5より小さいPHPバージョンを使用している場合、 'password_hash()' [互換パック](https://github.com/ircmaxell/password_compat)を使用することができます。ハッシュする前に[パスワードを逃さないでください](http://stackoverflow.com/q/36628418/1011527)、または他のクレンジングメカニズムを使用していることを確認してください。パスワードを変更すると、パスワードが変更され、不要な追加のコーディングが発生します。 –

+0

ブラウザでエラーが発生していません。「ナビゲートされた情報:...」 – Macjej

答えて

0

ajax呼び出しをキャプチャするには、file_get_contentsを使用する必要があります。また、定義する必要があります。

このリンク Submitting HTML form using Jquery AJAX

を参照してください、 "アプリケーション/ x-www-form-urlencodedで":あなたはform_encoded_url contentTypeのようAJAX呼び出しを設定する必要があり、この

How to get JSON data in php ?

それとも

をチェック

関連する問題