0
我正在處理一個電子郵件驗證。 基本上,在js事件中應該是通過json數據類型發送數據的ajax調用,然後第二個ajax調用應該從處理程序中檢索數據。 我不知道我在做什麼錯。這裏有兩段簡短的代碼。爲什麼我的ajax調用不會檢索數據?
jQuery的
$(document).on('focuson',"input#signup_password_input",function(){
var this_user_input=$("input[name='signup_email_input']").val();
if ((error_one_passed==1)&&(error_two_passed==1)){
$.ajaxSetup({ cache:false });
$.ajax({
url: 'ajax_email_validation.php',
type: "POST",
dataType:'json',
data: ({email_validation_ajax: "+this_user_input+"}),
success: function(data) {
$.ajax({
url:'ajax_email_validation.php',
data: data,
dataType:'json',
success:function(data1) {
var response_from_database=data1;
}
});
}
});
}
});
PHP
include('mysql/database.php');
if (!isset($_POST["email_validation_ajax"])){$json_array = array('request' => error, 'response' => none);}
$dbcheck_email_validation=$_POST["email_validation_ajax"];
$dbcheck_email_validation=htmlspecialchars($dbcheck_email_validation);
$dbcheck_email_validation=mysql_real_escape_string($dbcheck_email_validation);
$dbcheck_email_validation_query=mysql_query("SELECT * FROM users WHERE email='$dbcheck_email_validation'",$db);
$dbcheck_email_validation_assoc=mysql_fetch_assoc($dbcheck_email_validation_query);
if (!empty($dbcheck_email_validation_assoc)){$json_array = array('request' => received, 'response' => negative);}
elseif (isset($_REQUEST["email_validation_ajax"])) {$json_array = array('request' => received, 'response' => affirmative);}
echo $_POST['email_validation_ajax'];
echo json_encode($json_array);
如果有人能幫助我,我真的很感激。
我不認爲問題與焦點作爲一個JS事件。我糾正了這一點,但它仍然行不通。 – OlegArsyonov
你不應該做兩個AJAX調用。您的第一個電話應提交您的數據並從您的PHP腳本中檢索響應。該響應被傳遞給你的「成功」功能。 –