テキストボックスのデータを php に投稿することで、AJAX を使用して "blur()" にユーザー eamil が存在するかどうかを確認できるようにしたいのですが、firebug を使用すると投稿されたデータを見ることができますが、このエラーが発生し続けます: 未定義のインデックス: データ、私は一生懸命努力しましたが、まだこの問題を解決できていません。これはJavaScriptです:
$(document).ready(function() {
$('#regEmail').blur(function() {
var Email = $('#regEmail').val();
var data = '{Email:' + Email + '}';
$.ajax({
type: "POST",
url: "register.php",
data: data,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var result = response.exists;
if (result == true) {
alert('Email already exists!');
return;
}
else {
alert("Does not exist!");
}
}
});
});
});
そして、これはphpコードです:
if (isset($_POST['data']))
{
$db = new mysqli("localhost", "xxxx", "xxxxxxx", "xxxxxxx");
$data = $_POST['data'];
json_decode($data);
$Email = $data->fetch_assoc();
$Email = $Email["Email"];
$sql = "SELECT COUNT(*) as isExisting FROM users WHERE user_email='$Email'";
$sql_result = $db->query($sql);
$result = $sql_result->fetch_assoc();
if ($result["isExisting"] > 0)
{
$response = json_encode(array('exists' => true));
} else {
$response = json_encode(array('exists' => false));
}
echo $response;
print json_encode($_POST);
}
投稿データが設定されているかどうかを確認するために「if (isset($_POST['data']))」を追加しましたが、どうやら設定されていません。