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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Ajax请求SSM后台时提示:Invalid character found in the request target. The valid characters are defined in RF

發布時間:2025/3/19 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ajax请求SSM后台时提示:Invalid character found in the request target. The valid characters are defined in RF 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景

前端使用SSM請求后臺時提示:

Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986


前端請求如下

$("#book").submit(function() {if($(this).Andrew_Validate("submit_Validate")){$("#book > button:submit").attr("disabled","disabled").text("訂單提交中...");$('#clause').attr("disabled","disabled");var actionurl = $(this).attr("action"); //提交路徑var data = $(this).serialize();console.log(data);$.ajax({async : true,cache : false,type : 'POST',url : actionurl,data : data,success : function(data) {if("200"==data.statusCode){//請求成功window.location.href = "${ctx}/frontPage/passFlight/GJbookPay.html?orderId="+data.result;}if("300"==data.statusCode){$("#book > button:submit").removeAttr("disabled","disabled").text("下一步,去支付");$('#clause').removeAttr("disabled","disabled");if(-1==data.result){//請求失敗處理函數webToast(data.message, "middle", "mask", 1000);}else{var contactName=$("#contactName").val();var contactAreaCode=$("#contactAreaCode").val();var contactAreaMobile=$("#contactAreaMobile").val();var email=$("#email").val();var phone=$("#phone").val();var contactCookie = $.cookie("bus__contact");//將聯系人信息存儲到cookie中if(contactCookie && contactCookie!=""){//查看是否是當前登錄用戶的填寫信息contactCookies=contactCookie.split(";"); //字符分割var tempCookie;for(j = 0; j < contactCookies.length; j++) {?tempCookie=contactCookies[j].split(",");if(tempCookie[4]==phone){var s=contactName+','+contactAreaCode+','+contactAreaMobile+','+email+','+phone;contactCookies.splice(j,1,s);$.cookie('bus__contact',contactCookies);}else{var contactResult=contactCookie+";"+contactName+','+contactAreaCode+','+contactAreaMobile+','+email+','+phone;$.cookie('bus__contact',contactResult);}}}else{var contactResult=contactName+','+contactAreaCode+','+contactAreaMobile+','+email+','+phone;$.cookie('bus__contact',contactResult);}Andrew_Popupwin({dom: "#login_dialog_plug_popupWin", //彈窗內容的布局position: "middle", //位置類型(top,bottom,left,right,middle)effectIn: "bounceInDown", //彈窗顯示效果effectOut: "bounceOutDown", //彈窗消失效果maskPosition:"11", //Mask的z-index數值closeBtn: ".login_dialog_plugin_close" //關閉彈窗按鈕})}}},error : function(err) {$("#book > button:submit").removeAttr("disabled","disabled").text("下一步,去支付");$('#clause').removeAttr("disabled","disabled");//請求失敗處理函數webToast("請求錯誤", "middle", "mask", 1000);}});}return false;});

后臺SSM代碼如下:

@ResponseBody@RequestMapping(value = "/GJbookPayValidate", method = RequestMethod.POST)public Map<String,Object> GJbookPayValidate(PiaoHouGJBookInfoPayViewModel model){try {//登錄賬戶驗證部分BaseSubjectModel bsm = SubjectUtil.validate(this.getClass(),loginType,"機票預訂失敗:");if(!bsm.isFlag()) {return bsm.getJsonResult();}//業務部分return this.service.getGJBookPayValidateJson(model,bsm);}catch (Exception e) {LogService.getInstance(this).debug("機票預訂失敗:"+Status.UNKNOWN_SESSION_EXCEPTION.toString()+e.getMessage());return JsonResult.jsonWsReturn(Status.ERROR.getCode(), Status.ERROR.getDescriptionZh(), Status.ERROR.getCode());}}

在 業務中封裝參數的方法:

private static Map<String, Object> setJsonObj(int statusCode, String msg) {Map<String, Object> jsonObj = new HashMap<String, Object>();switch (statusCode) {case 200:jsonObj.put("statusCode", "200");jsonObj.put("message", msg == null ? "操作成功" : msg);break;case 300:jsonObj.put("statusCode", "300");jsonObj.put("message", msg == null ? "操作失敗" : msg);break;}return jsonObj;}

實現

可以確定的是在接口請求與返回數據時出現問題。

仔細觀察上面的代碼就會發現問題:

第一次請求驗證接口時返回的結果是一個對象,再次請求時使用

??window.location.href = "${ctx}/frontPage/passFlight/GJbookPay.html?orderId="+data.result;

而data.result是一個對象,顯然這樣是不行的,修改為:

$("#book").submit(function() {if($(this).Andrew_Validate("submit_Validate")){$("#book > button:submit").attr("disabled","disabled").text("訂單提交中...");$('#clause').attr("disabled","disabled");var actionurl = $(this).attr("action"); //提交路徑var data = $(this).serialize();console.log(data);$.ajax({async : true,cache : false,type : 'POST',url : actionurl,data : data,success : function(data) {debuggerif("200"==data.statusCode){debugger$.ajax({async : true,cache : false,type : 'POST',url : "${ctx}/frontPage/passFlight/GJbookPay.html",data : data.result});//window.location.href = "${ctx}/frontPage/passFlight/GJbookPay.html?orderId="+data.result;}if("300"==data.statusCode){$("#book > button:submit").removeAttr("disabled","disabled").text("下一步,去支付");$('#clause').removeAttr("disabled","disabled");if(-1==data.result){//請求失敗處理函數webToast(data.message, "middle", "mask", 1000);}else{var contactName=$("#contactName").val();var contactAreaCode=$("#contactAreaCode").val();var contactAreaMobile=$("#contactAreaMobile").val();var email=$("#email").val();var phone=$("#phone").val();var contactCookie = $.cookie("bus__contact");//將聯系人信息存儲到cookie中if(contactCookie && contactCookie!=""){//查看是否是當前登錄用戶的填寫信息contactCookies=contactCookie.split(";"); //字符分割var tempCookie;for(j = 0; j < contactCookies.length; j++) {?tempCookie=contactCookies[j].split(",");if(tempCookie[4]==phone){var s=contactName+','+contactAreaCode+','+contactAreaMobile+','+email+','+phone;contactCookies.splice(j,1,s);$.cookie('bus__contact',contactCookies);}else{var contactResult=contactCookie+";"+contactName+','+contactAreaCode+','+contactAreaMobile+','+email+','+phone;$.cookie('bus__contact',contactResult);}}}else{var contactResult=contactName+','+contactAreaCode+','+contactAreaMobile+','+email+','+phone;$.cookie('bus__contact',contactResult);}Andrew_Popupwin({dom: "#login_dialog_plug_popupWin", //彈窗內容的布局position: "middle", //位置類型(top,bottom,left,right,middle)effectIn: "bounceInDown", //彈窗顯示效果effectOut: "bounceOutDown", //彈窗消失效果maskPosition:"11", //Mask的z-index數值closeBtn: ".login_dialog_plugin_close" //關閉彈窗按鈕})}}},error : function(err) {$("#book > button:submit").removeAttr("disabled","disabled").text("下一步,去支付");$('#clause').removeAttr("disabled","disabled");//請求失敗處理函數webToast("請求錯誤", "middle", "mask", 1000);}});}return false;});


?

總結

以上是生活随笔為你收集整理的Ajax请求SSM后台时提示:Invalid character found in the request target. The valid characters are defined in RF的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 男人添女人下部高潮视频 | 一区二区精彩视频 | 99热超碰 | 日韩白浆| 少妇熟女一区 | 黑人3p波多野结衣在线观看 | 裸体男女树林做爰 | 日韩欧美小视频 | 亚洲天堂av一区二区 | 超碰女人 | 日韩在线播放视频 | 亚洲精品嫩草 | 日韩激情综合网 | 在线日韩av | 在线观看成人小视频 | 伊人网在线观看 | 阿v视频免费在线观看 | 久久资源在线 | 国产尤物av | 国产三级漂亮女教师 | 国产精品无码自拍 | 亚洲av无码乱码国产精品久久 | 国产一区二区三区中文字幕 | 人人爱爱 | 色姑娘av | 国产a视频免费观看 | 成人a级片 | 欧美日韩成人一区二区 | av片网站| 国产乱强伦一区二区三区 | 亚洲国产精品久久久久婷婷老年 | 一级黄色在线视频 | 樱桃视频一区二区三区 | 色就是色欧美色图 | 屁股夹体温计调教play | 国产精品无码毛片 | 国产精品国产三级国产专播品爱网 | 一区二区三区免费在线观看视频 | 欧美精品一区二区成人 | 巨大胸大乳奶电影 | 在线播放a | 久操不卡 | 中文字幕亚洲精品在线 | 一区二区三区视频播放 | 久久久国产精华液 | 国产cao | 国产精品一区在线 | 亚洲欧美第一页 | 久久久久久网址 | 亚洲无人区码一码二码三码 | 欧美一级爱爱视频 | wwwww国产| 久久久亚洲国产 | 一区二区三区在线不卡 | 欧美一级做性受免费大片免费 | 男女性生活毛片 | 老湿福利影院 | 成人精品电影 | 国产一级黄色片子 | 97在线播放 | 黄频在线播放 | 五月亚洲综合 | 欧美激情亚洲综合 | 中文字幕在线播放一区二区 | 日韩精品在线观看免费 | 久久综合亚洲色hezyo国产 | 久久综合久久鬼 | 国产一区,二区 | 日本中文字幕在线免费观看 | 亚洲精品福利视频 | 毛片资源 | 一级免费黄色大片 | 咪咪色在线视频 | 口爆吞精一区二区三区 | 春色网站 | 日本一本在线视频 | 操碰在线视频 | 亚洲熟妇无码一区二区三区导航 | 成人免费无码av | 特黄网站 | 男女高h视频| 96毛片| 四虎永久免费影院 | 日本福利一区二区 | 欧美被狂躁喷白浆精品 | 欧美寡妇性猛交ⅹxxx | www.蜜臀av.com| 大肉大捧一进一出好爽 | 色爽爽一区二区三区 | 国产av电影一区二区 | 一区二区久久精品66国产精品 | 国产一级18片视频 | 麻豆高清 | 中文字幕日韩久久 | 久久夜色精品国产欧美乱极品 | 毛片视频在线免费观看 | 国产男女在线 | 高清一区二区 | 欧美性生活视频 |