[英]Why an AJAX call is giving an error timeout response only in Firefox
我的ajax電話
我進行了ajax調用,以檢查電子郵件地址是否已經用於參與。 php文件在不使用時返回0,在已經使用時返回1。 使用該標簽時,將顯示一個錯誤標簽。
這在Chrome,Safari,Internet Explorer中完美運行。 但是,這對於Firefox來說實在是一個痛苦。 它檢查並給出正確的響應,但是5秒鍾后給出超時。
我還有另一個ajax調用,將所有數據放入數據庫中,它有完全相同的問題。
我做錯了什么?
function controleerDeelnemerEmail(){
var emailVal = $('#email').val();
$.ajax( {
type: 'POST',
url:'?page=home&action=check',
dataType:'text',
data: {'email':emailVal},
success: function( data ){
data = parseInt(data);
if(data == 1){
if( $(".emailerror").length == 0 ){
var error = "<label for='email' generated='true' class='error emailerror' style=''>Dit e-mailadres wordt al gebruikt</label>"
$(error).insertBefore( $('#email') );
}
}
}
})
}
服務器端
公共功能check(){
if(!empty($_POST)){
$content = $this->deelnemerDAO->controleerDeelnemerEmail( $_POST['email'] );
if( $content == 1 ){
echo 1;
}else{
echo 0;
}
exit();
}
}
您應該添加錯誤回調以查看返回的答案是否為1。
Ajax可以將錯誤類型視為錯誤。
function controleerDeelnemerEmail() {
var emailVal = $('#email').val();
$.ajax({
type: 'POST',
url:'?page=home&action=check',
dataType:'text',
data: {
'email': emailVal
}
}).done(function (data) {
// equivalent to success callback
data = parseInt(data);
if (data == 1) {
if ($(".emailerror").length === 0) {
var error = $("<label>", {
'for': 'email',
'generated': 'true',
'class': 'error emailerror'
}).text("Dit e-mailadres wordt al gebruikt").insertBefore($('#email'));
}
}
}).fail(function (response, status) {
alert('fail');
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.