ホームページ >バックエンド開発 >PHPチュートリアル >jQuery+PHPで作成したC/S型Webページ、サーバーが応答しない
クライアント側のキー jQuery コード
$('#submit').click(function(e){
var username=$('#name').val();
var pwd=$('#pwd') . val();
var message=$('#message').val();
$.post("Validate2.php",
{username:username,pwd:pwd,message:message},
function( response ){
alert("response.status="+response.status); //リターンステータスダイアログボックスを出力します
"json"
);
サーバーキーPHP コード
$query="メッセージに値を挿入(12345,"what","1222")"
$result=$mysqli->query($query);
$response['status']= "TRUE";
echo json_encode($response);
$mysqli->close();
操作後、新しいデータが追加されました。 ,
ただし、$response['status']=TRUE をクライアントに返すことはできません,
ディスカッションに返信 (解決策)
BOM ヘッダーがあるかどうか確認してください
以前にこの問題に遭遇したことがあります。それはクライアントに返されないのではなく、クライアントが json 文字列を json オブジェクトに変換せずに文字列だけを受け取ることです。 client first ) JSON オブジェクトを作成してから、その response.status プロパティを呼び出すことができます。
しかし、これは、サーバー $query="insert into Messagesvalues(12345,"what","1222")"
を "select * from Messages;" のようなデータベース上のクエリに変更した場合に当てはまります。 " TRUE が受け取られます
あるいは、mysqli->query() の前に TRUE 行を移動すると、受け取ることができます
を "select * from Messages;" のようなデータベース上のクエリに変更した場合に当てはまります。 " TRUE が受信されます
または、TRUE 行を mysqli->query() の前に移動すると、受信できます
奇妙なことです。 。 。 。 。前例のない現象
サーバーが返す内容を出力して見てください。json についてはまだ説明しません。
},
" json"
);
e.preventDefault()
}); 次に、php 側で file_put_contents('sos.txt', json_encode($_REQUEST), true); を使用します。
実行後、sos.txt の内容を確認してください。正しいパラメータは送信したパラメータであるはずです。
完了...将来誰かが同じ問題を検索する場合に備えて説明します...
投稿者である Xiaobai は、次の場合に
ini_set("display_errors", "on") を php の最初の行に追加する必要があります; // エラー メッセージを出力します
もう一度テストして、
致命的なエラーを見つけます: /var/www/html/Validate2.php の 60 行目でメンバー関数 free() を呼び出します
つまり、1が返されます 0 無料のものを削除する必要があります...削除した後は大丈夫です...