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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

关于Ajax的type为post提交方式出现请求失效问题

發(fā)布時(shí)間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于Ajax的type为post提交方式出现请求失效问题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近碰到這樣一個(gè)問(wèn)題,原本一個(gè)ajax異步提交數(shù)據(jù)之前是很好的,很多系統(tǒng)都延用了均未出現(xiàn)任何問(wèn)題。最近這個(gè)版本卻出現(xiàn)ajax方式post數(shù)據(jù)不到后臺(tái)程序,讓我折騰了好幾天。起初的ajax是這樣寫的:

?

view sourceprint? 01.$.ajax({ 02.type:?'POST', 03.url:?"/Ajax/SaveData.aspx", 04.dataType:?"json", 05.data:?"RequestTime="+ (new?Date()).toString()+"&WorkFlowInfo="+jsonText, 06.beforeSend:?function?() { 07.}, 08.success:?function?(msg) { 09.$("div[class='datagrid-mask']").hide(); 10.$("div[class='datagrid-mask-msg']").hide(); 11.alert(msg.mes); 12.if?(msg.op !=?"err") 13.window.location.reload(); 14.? 15.}, 16.error:?function?(errorMsg) { 17.$("div[class='datagrid-mask']").hide(); 18.$("div[class='datagrid-mask-msg']").hide(); 19.alert("發(fā)生了一個(gè)錯(cuò)誤"); 20.} 21.});

?

當(dāng)我的jsonText字符串不是很長(zhǎng)的情況下,是可以post至后臺(tái)服務(wù)的。那么既然我的type為post方式,與數(shù)據(jù)長(zhǎng)短有何關(guān)系對(duì)吧?你或許會(huì)如此堅(jiān)定的想。

易錯(cuò)點(diǎn):

那么為何當(dāng)jsonText過(guò)長(zhǎng)時(shí)post提交至后臺(tái)失敗呢?細(xì)心的網(wǎng)友可能會(huì)發(fā)現(xiàn)雖然是post方式但是data的書寫方式是不對(duì)的,data原本就是接受json類型的參數(shù)和數(shù)據(jù)的,上面的代碼卻將之當(dāng)做了直接在url內(nèi)傳遞參數(shù)的形式,換言之就是將ajax的psot提交方式活生生地變換為了get方式提交

get方式提交是直接在url內(nèi)傳遞參數(shù)和數(shù)據(jù),url內(nèi)有最大字?jǐn)?shù)限制的,所以當(dāng)jsonText過(guò)長(zhǎng)時(shí)就提交不至后臺(tái)服務(wù)。

?

如何糾正?

既然是data的書寫方式不對(duì),那么我們只需要糾正一下這個(gè)地方即可,糾正后的示例代碼如下所示:

?

view sourceprint? 01.$.ajax({ 02.type:?'POST', 03.url:?"/Ajax/SaveData.aspx", 04.dataType:?"json", 05.data: {RequestTime:(new?Date()).toString(),WorkFlowInfo:escape(jsonText)}, 06.beforeSend:?function?() { 07.}, 08.success:?function?(msg) { 09.$("div[class='datagrid-mask']").hide(); 10.$("div[class='datagrid-mask-msg']").hide(); 11.alert(msg.mes); 12.if?(msg.op !=?"err") 13.window.location.reload(); 14.? 15.}, 16.error:?function?(errorMsg) { 17.$("div[class='datagrid-mask']").hide(); 18.$("div[class='datagrid-mask-msg']").hide(); 19.alert("發(fā)生了一個(gè)錯(cuò)誤"); 20.} 21.});

這樣一來(lái)就可以正常post數(shù)據(jù)至后臺(tái)服務(wù)了的。

總結(jié)

以上是生活随笔為你收集整理的关于Ajax的type为post提交方式出现请求失效问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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