2017-07-21 20 views
2

私は自分のAjaxリクエストから単純なエコーを返そうとしています。これまでにやったことがありますが、今回はうまくいきません。ajaxリクエストで空白を返すPHP

私はそれを裸のミニマルに取り除きましたが、まだ動作していません。

Javascriptを

function getUserColours(){ 
    var username = $('#username').val(); 
    $.ajax({ 
     url: 'assets/processes/loginUserColour.php', // URL of php command 
     type: 'POST', //TYPE 
     data: {'username': username}, //Variables in JSON FORMAT 
     success: function(data) { //SUCCESSFUL REQUEST FUNCTION 
     console.log(data); 
     } 
    }); // end ajax call 
    } 

PHP

<?php 
    if(isset($_POST['submit'])){ 
    echo "true"; 
    } 
?> 

しかし、応答が完了したときに、それだけで完全に空白文字列を返しますか?

URLは間違いなく正しく動作していて、私のユーザー名変数は空白ではなく、ユーザーの入力と同じです。

何が問題になりますか?

注:私はこの同じ方法を既に同じアプリケーションで使用していますが、このページでは機能しません。

+0

あなたは、オーバーレイを使用してみましたトラブルシューティングに役立つFirebugのようなソフトウェア?それは送信されたリクエストを表示し、それが間違っているかを見ることができます – GrumpyCrouton

+3

'$ _POST ['submit']'対 '{'username':username}' – Andreas

+0

'if(isset($ _ POST ['submit' ]) - "submit"という変数がサーバに送信されていませんあなたが 'if(isset($ _ POST ['username'])'を意味しましたか? – ADyson

答えて

4

あなたのAJAXデータオブジェクトには存在しないPOST値を探しています。 jQueryがAJAXリクエストを送信すると、データオブジェクトに追加したものだけをPOSTパラメータとして送信します。

あなたは、データオブジェクトを変更し、いくつかの値を「提出」プロパティを追加するか、次へのあなたのPHPを変更することができ、それが動作する必要がありますすることができ、次のいずれか

<?php 
    if (isset($_POST['username'])){ 
    echo "true"; 
    } 
?> 
+0

私の謝罪!私はこれを完全に過ぎて見ていたので、私はそれを見てきた!ありがとう –

2

てみユーザ名をエコーし​​ます。ユーザー名変数にユーザー名を渡します。試してみてください:

<?php if(isset($_POST['username'])){ echo "true"; } ?> 
1

リクエストパラメータにsubmitがありません。 Javascriptを

function getUserColours(){ 
    var username = $('#username').val(); 
    $.ajax({ 
    url: 'assets/processes/loginUserColour.php', 
    type: 'POST', //TYPE 
    data: {'username': username, 'submit': true}, //adding submit 
    success: function(data) { 
     console.log(data); 
    } 
    }); 
} 

OR PHP側からそれを修正中にあなたの要求にsubmitを追加する

最初のオプション:あなたはそれを修正するには、2つのオプションがあり

<?php 
    if(isset($_POST['username'])){ 
    echo "true"; 
    } 
?>