這篇文章主要介紹了微信開(kāi)發(fā)中AJAX的請(qǐng)求和Get請(qǐng)求無(wú)效怎么辦,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
目前創(chuàng)新互聯(lián)建站已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、嘉峪關(guān)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。先給大家分析問(wèn)題產(chǎn)生原因
最近在做一個(gè)微信的項(xiàng)目時(shí),遇到一種很常見(jiàn)的情況,需求是這樣的,當(dāng)用戶進(jìn)入到“我的個(gè)人中心”的時(shí)候,會(huì)有一個(gè)點(diǎn)擊跳轉(zhuǎn)填寫(xiě)認(rèn)證資料的按鈕,點(diǎn)擊此按鈕后,會(huì)跳轉(zhuǎn)到認(rèn)證資料填寫(xiě)頁(yè)面,填寫(xiě)資料,提交成功后。當(dāng)用戶直接返回到上一頁(yè)的時(shí)候。需要修改認(rèn)證狀態(tài)為“認(rèn)證中”。此時(shí)需要使用一個(gè)AJAX方法去查詢認(rèn)證狀態(tài),并修改頁(yè)面的狀態(tài)顯示。
當(dāng)時(shí)沒(méi)有按照標(biāo)準(zhǔn)的方法寫(xiě)ajax方法,默認(rèn)使用的方法是Get請(qǐng)求,前臺(tái)JS代碼如下:
window.onload = function(){ var isProfesser=$('#isProfesser').val(); var isreview=$('#isreview').val(); var userid=$('#myId').val(); if(isProfesser=='0' && isreview=='0'){ $.ajax({ url:"/isAuthenticing", data: {userid:userid}, success: function (data, textStatus, jqXHR) { if(data.result=='1'){ $('#approveadd a').html("+認(rèn)證中") } }, error: function () { } }); } //getMyQusetionInfo(); }
后臺(tái)controller默認(rèn)接收的也是GET
@RequestMapping(value = "/isAuthenticing", method = RequestMethod.GET) @ResponseBody public MapisAuthenticing(@RequestParam("userid") String userid,HttpServletRequest request) throws IOException { //方法體; }
解決辦法
實(shí)踐證明使用Get方法式是不行的,每次后退到上一頁(yè)的時(shí)候,頁(yè)面中的ajax方法會(huì)照常執(zhí)行,但是并不會(huì)請(qǐng)求后臺(tái)的controller,請(qǐng)求返回的值也是上一次加載頁(yè)面時(shí)候的值,具體原因我暫時(shí)不明確。
后來(lái)抱著試一試的心態(tài) 我使用可POST請(qǐng)求,出人意料的是 使用POST請(qǐng)求,真?zhèn)€流程就走通了。
前臺(tái)JS代碼如下:
window.onload = function(){ var isProfesser=$('#isProfesser').val(); var isreview=$('#isreview').val(); var userid=$('#myId').val(); if(isProfesser=='0' && isreview=='0'){ $.ajax({ url:"/isAuthenticing", data: {userid:userid}, type: 'POST', success: function (data, textStatus, jqXHR) { if(data.result=='1'){ $('#approveadd a').html("+認(rèn)證中") } }, error: function () { } }); } //getMyQusetionInfo(); }
后臺(tái)代碼:
@RequestMapping(value = "/isAuthenticing", method = RequestMethod.POST) @ResponseBody public MapisAuthenticing(@RequestParam("userid") String userid,HttpServletRequest request) throws IOException { //方法體 }
希望能夠幫助那些和我遇到同樣問(wèn)題的人。
注:紅色部分為修改的部分
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“微信開(kāi)發(fā)中AJAX的請(qǐng)求和Get請(qǐng)求無(wú)效怎么辦”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!