async
リクエストを同期的に送信する必要がある場合は、false に設定します。デフォルトは true です。このオプションを false に設定すると、リクエストは、レスポンスが受信されるまで他のコードの実行をブロックすることに注意してください。
dataType
サーバーから返されると予想されるデータのタイプ。デフォルトでは、dataType が指定されていない場合、jQuery は応答の MIME タイプを調べます。
存在する場合は削除 dataType: 'json'
します。
async:false
存在しない場合は追加します。
次のように実行します。
var username=$("#username").val();
var password=$("#password").val();
$.ajax({
url: "addperson.php",
type: "POST",
async: false,
data: {
username: username,
password: password
}
})
.done (function(data, textStatus, jqXHR) {
var obj = JSON.parse(data);
//Handle the response data here
alert(obj.success);
})
.fail (function(jqXHR, textStatus, errorThrown) {
alert("Error");
})
.always (function(jqXHROrData, textStatus, jqXHROrErrorThrown) {
alert("complete");
});
addperson.php は、次のような JSON 形式でエコーします。
$username1 = isset($_POST["username"]) ? $_POST["username"] : '';
$password1 = isset($_POST["password"]) ? $_POST["password"] : '';
$servername = "xxxxx";
$username = "xxxxx";
$password = "xxxxx";
$dbname = "xxxxx";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO user (username, password)
VALUES ('$username1', '$password1' )";
;
if ($conn->query($sql) === TRUE) {
echo json_encode(array('success' => 1));
} else{
echo json_encode(array('success' => 0));
}
$conn->close();