データをプレーンテキストとして渡しています。私はJSONとしてデータを渡すことを推奨します。なぜなら、サーバーからの応答を取得する方が簡単だからです。
また、より多くの変数(フォーム入力)を含む変数をdata: { loginData : $("#loginForm").serialize()}
に使用しています。 .serializeArray()
を使用して、サーバースクリプトで捕捉できるJSON変数としてデータを送信することをお勧めします。
ので:
$.ajax({
url: "controller.php",
method: "POST",
data: $("#loginForm").serializeArray(),
dataType: "json",
success: function (response) {
if(response["success"]) {
window.open('www.google.com');
}
},
error: function (request, status, error) {
// error handling code
}
});
そしてcontroller.php
に:(あなたは、配列を使用しているというだけの理由)も
<?php
if(isset($_POST['input'])) { // use your input's name instead
$response['success'] = true;
} else {
$response['success'] = false;
}
header('Content-Type: application/javascript');
echo json_encode($response);
?>
そして、この最後のコードスニペットを使用すると、 "成功" 以上のものを渡すことができます。例:
<?php
if(isset($_POST['input'])) { // use your input's name instead
$response['success'] = true;
$response['open'] = 'www.google.com';
} else {
$response['success'] = false;
}
header('Content-Type: application/javascript');
echo json_encode($response);
?>
「応答」の価値はどのように分かりますか? –
成功またはエラーを判断するために実際の応答ステータスを使用してみませんか?あなたは成功のために空の200レスポンスを返すだけで、実際にレスポンスボディを比較するのは気にならないかもしれません。 – Phil
'console.log(エスケープ(レスポンス));'それは単語 – epascarello