日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php排斥ajaxsubmit函数,关于php:ajaxsubmit错误捕获

發(fā)布時間:2023/12/10 php 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php排斥ajaxsubmit函数,关于php:ajaxsubmit错误捕获 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我無法讓AjaxSubmit捕獲錯誤:

$(document).ready(function(){

$("#supportForm").validate({

rules: {

//validation

},

messages: {

//messages

},

submitHandler: function(form) {

$(form).ajaxSubmit({

url:"ajax/supportform",

type:"GET",

dataType: 'json',

error: function() { alert('error'); },

success: function() {alert('success'); },

});

}

});

})

我必須在php腳本中返回什么才能觸發(fā)錯誤事件?

我嘗試返回一個錯誤大于0的數(shù)組,exit(json_encode('error'=>'0');等等。

將URL更改為不存在的內(nèi)容-這將使您在練習時出錯

我不是一個PHP開發(fā)人員,但不會簡單地在您的PHP代碼中拋出一個異常(而不是捕獲它)使Ajax調(diào)用失敗嗎?

@Francis Gagnon,這取決于最終的錯誤處理。一個簡單的PHP語法錯誤或其他什么不會導(dǎo)致Ajax調(diào)用失敗。

@Mike-正確,我的問題是沒有文檔來定義函數(shù)期望返回的內(nèi)容被認為是錯誤!

見Mike de Klerk的鏈接,它提供了陷阱錯誤必須做什么的線索:

似乎成功&錯誤回調(diào)與傳遞布爾錯誤/成功消息無關(guān),但僅當成功調(diào)用了URL時。我希望我不會得到錯誤結(jié)果,因為我使用的CMS總是返回某種內(nèi)容——即使它是404或403頁。

無論如何,我必須從PHP腳本返回一個JSON字符串:

$response = json_encode(array("error" =>"false","message" =>"this is the error message"));

return $response;

然后在我的成功回調(diào)中分析它:

submitHandler: function(form) {

$(form).ajaxSubmit({

url:"ajax/supportform",

type:"POST",

dataType: 'json',

error: function(data ) { alert(data); },

success: function(response) {

var obj = jQuery.parseJSON(response);

if(obj.error =="true"){

alert('error is true');

}else{

alert('error is false')

}

},

});

}

編輯:要顯示來自PHP的某些特定錯誤描述,您應(yīng)該閱讀以下問題:jquery ajax錯誤處理,顯示自定義異常消息

讓您的服務(wù)器產(chǎn)生一些錯誤,使用PHP,您可以這樣做

header("HTTP/1.0 404 Not Found");

?>

查看header函數(shù)的文檔:http://nl.php.net/manual/en/function.header.php

您在這里所做的是為您的WebBrowser提供不屬于典型HTML源代碼的數(shù)據(jù),通過這些數(shù)據(jù),WebBrowser可以知道發(fā)生了什么錯誤。

實際上,您可以將所有需要的元數(shù)據(jù)添加到網(wǎng)頁請求的頭中,但是當WebBrowser不知道這意味著什么時,它將被忽略。請參閱以下定義或狀態(tài)代碼:http://www.w3.org/protocols/rfc2616/rfc2616-sec10.html

+1,對于應(yīng)用程序錯誤,500代碼可能更合適

這將在頭中返回404響應(yīng),但文檔本身沒有數(shù)據(jù)-Ajax請求期望返回數(shù)據(jù)。(JSON)官方文檔沒有幫助,錯誤回調(diào)在任何示例中都沒有。

@Sean Kimball,我知道你想要一個特定的錯誤消息,而不是僅僅在連接錯誤或其他問題上嘗試錯誤處理程序?看編輯是我擺姿勢的答案。

@所以,如果我讀對了,那么成功錯誤與PHP腳本是否返回了什么特別的東西沒有關(guān)系,只是返回了一些東西?在這種情況下-?即使在腳本中引入錯誤或移動頁面,我也無法讓它在404或500個標題上引發(fā)錯誤。但基本上,我應(yīng)該將JSON字符串傳遞回成功回調(diào)并在那里進行"處理"?在哪種情況下,甚至可以觸發(fā)錯誤回調(diào)?

@肖恩·金博爾,你讀過我擺姿勢的安瑟爾的網(wǎng)址嗎?stackoverflow.com/questions/377644/…我非常確定您要找的是什么。盡管你最初的問題表明了另外一點。因此,你得到的答案與你正在尋找的答案不同。一定要問清楚你需要知道/想要什么。

我確實做到了,"我必須在PHP腳本中返回什么才能觸發(fā)錯誤事件?"&這里的所有建議都不會觸發(fā)錯誤回調(diào)。但您的鏈接確實提供了一些線索,說明了如何捕獲應(yīng)用程序錯誤…

將URL更改為不存在的內(nèi)容以強制出錯

function(form) {

$(form).ajaxSubmit({

url:"ajax/supportform001",

type:"GET",

dataType: 'json',

error: function() { alert('error'); },

success: function() {alert('success');} //

});

}

也不起作用-從站點返回404頁[結(jié)果中包含數(shù)據(jù)],但總是觸發(fā)成功回調(diào)。

總結(jié)

以上是生活随笔為你收集整理的php排斥ajaxsubmit函数,关于php:ajaxsubmit错误捕获的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。