电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Ajax報錯400的參考解決辦法

瀏覽:271日期:2022-06-11 11:16:52

Failed to load resource: the server responded with a status of 400 (Bad Request)

報錯代碼為400的錯誤的原因:基本上都是前臺傳的數據格式不正確造成的,但是這個格式如何不正確,就得看如何理解這個數據到底是怎么在傳的啦。

我這只是簡單的記錄下,我這個報錯400的原因,要是和你的不一樣呢,也是有可能的。

寫下我的代碼報錯400,的原因:

前臺代碼:

$.ajax({
 url: SUBSYSTEM_APP_NAME + "appportmanage/saveEditAppPortManage",
 type: "post",
 contentType: "application/json; charset=utf-8",
 data: JSON.stringify(data),
 dataType: "json",
 success: function (data) {
 if (data.success) {
 GMS.success(data.msg);
 } else {
 GMS.error(data.msg, 3000);
 }
 }
});

首先是,前臺封裝的數據對象的屬性什么的,都是和后臺的java的model的屬性是一致的,這個不是問題的原因。不用擔心。

請注意啦,報400錯的各位,我說的是我的這個所有屬性的前后臺對應是OK的,但是你的報400錯誤的,你確定你的前后臺對象確實是所有屬性的參數類型都是一致的嗎?

比如:某個屬性前后臺 都是List<String>?都是boolean?等等等等。這個是最基本的報錯姿勢。

你還是最后先檢查一下這個問題,再繼續看是不是和我的報錯原因是相同的吧。

然后ajax的type和各種參數都是和后臺可以 對的上的,也不是問題的原因。

后臺的代碼:

@RequestMapping(value = "/saveEditAppPortManage")
public @ResponseBody JsonResult saveEditRenameDetail (@RequestBody Appportmanage detail) {
 LOG.debug("---------------AppportmanageController:saveEditAppPortManage---------------");
 LOG.debug("---------------detail:" + detail + "---------------");
 return appportmanageService.saveEditAppPortManage(detail);
}

其次是,前后臺的url也是對上的,model的各個屬性也是對上的。然后呢,spring mvc 的注解標簽也是沒問題的。本來代碼是OK的。還是上面的代碼,程序是可以正常工作的,跑起來沒問題的。

但是我做了如下修改:

修改了數據的model:原來的 model  java  文件就是一些屬性s和簡單的getter和setter,然后我因業務需求,給原來的model添加了一條屬性,當然對應的getter和setter也是添加的,然后又因為需求我添加了一個帶參數的構造函數,因為我在其他地方要new這個model的對象。

然后,問題就出現了。就報 400 的錯誤碼了。

剛剛開始,我以為是屬性的添加的問題,但是檢查之后,發現不是這個問題。

問題出現在,model java 文件的構造函數上。

解決方法:

給model java 文件再添加一個不帶參數的構造函數。具體解釋在下面。

至于原因,就得看怎么理解spring mvc是怎么在前后臺之間傳遞參數了。

原來我沒加帶參構造函數的時候,每個model都會默認自帶個不帶參數的構造函數,然后前臺的數據格式封裝 和后臺的model的屬性只要對的上,然后spring mvc在后臺 就可以自己根據model,自己去把前臺傳過來的數據,對應的給裝進到@RequestBody Appportmanage detail,這個參數里面,這個實現的前提是,你的model有默認構造函數,不帶參數的,然后系統自己去new一個對象,然后自己去把數據給裝進去。然后你就可以用了。

因為,我更新了model 的構造函數,若是你不寫不帶參數的構造函數的話,那么原來model自帶的不帶參構造函數就木有了,然后到controler層的時候,就是在獲得前臺的數據,自己去裝數據的時候,他不會根據你的帶參構造函數去new個你要的model對象出來,so,問題就這么出現了。

然后,遇到今天的這個錯誤之后,就知道前后臺的數據具體是怎么在對應的了。原來我只是以為,只要前后的數據模型一致就可以了。

現在,又知道了,哦,還和構造函數有關系呢。

我為什么要把空構造函數 給刪除了,因為ide提示說這個構造函數沒用,然后我就刪除了。然后我就悲劇了。哦,西特!!!

我這個報錯的原因還是有點深度的,因為這個報錯,可以讓你理解到,springMVC的注解是如何工作的,你要是知道什么是IOC的話,也就是spring 里面經常說的依賴注入和控制反轉的話,那就對這個錯誤的理解就更深刻了。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對的支持。如果你想了解更多相關內容請查看下面相關鏈接

標簽: Ajax
相關文章:
主站蜘蛛池模板: 天坛家具官网| 卧涛科技有限公司科技项目申报公司|高新技术企业申报|专利申请 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 全自动贴标机-套标机-工业热风机-不干胶贴标机-上海厚冉机械 | 双菱电缆-广州电缆厂_广州电缆厂有限公司 | 祝融环境-地源热泵多恒系统高新技术企业,舒适生活环境缔造者! | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 洗地机_全自动洗地机_手推式洗地机【上海滢皓环保】 | 管理会计网-PCMA初级管理会计,中级管理会计考试网站 | 华禹护栏|锌钢护栏_阳台护栏_护栏厂家-华禹专注阳台护栏、楼梯栏杆、百叶窗、空调架、基坑护栏、道路护栏等锌钢护栏产品的生产销售。 | 气胀轴|气涨轴|安全夹头|安全卡盘|伺服纠偏系统厂家-天机传动 | 大型工业风扇_工业大风扇_大吊扇_厂房车间降温-合昌大风扇 | 小程序开发公司-小程序制作-微信小程序开发-小程序定制-咏熠软件 | 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 杭州用友|用友软件|用友财务软件|用友ERP系统--杭州协友软件官网 | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 隆众资讯-首页_大宗商品资讯_价格走势_市场行情 | 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 合肥礼品公司-合肥礼品定制-商务礼品定制公司-安徽柏榽商贸有限公司 | 安徽免检低氮锅炉_合肥燃油锅炉_安徽蒸汽发生器_合肥燃气锅炉-合肥扬诺锅炉有限公司 | 长信科技产业园官网_西安厂房_陕西标准工业厂房 | 智慧养老_居家养老_社区养老_杰佳通 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 北京开业庆典策划-年会活动策划公司-舞龙舞狮团大鼓表演-北京盛乾龙狮鼓乐礼仪庆典策划公司 | 广西教师资格网-广西教师资格证考试网 | 10吨无线拉力计-2吨拉力计价格-上海佳宜电子科技有限公司 | 潜水搅拌机-双曲面搅拌机-潜水推进器|奥伯尔环保 | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 软装设计-提供软装装饰和软装配饰及软装陈设的软装设计公司 | 烟台条码打印机_烟台条码扫描器_烟台碳带_烟台数据采集终端_烟台斑马打印机-金鹏电子-金鹏电子 | 铁盒_铁罐_马口铁盒_马口铁罐_铁盒生产厂家-广州博新制罐 | 槽钢冲孔机,槽钢三面冲,带钢冲孔机-山东兴田阳光智能装备股份有限公司 | 大鼠骨髓内皮祖细胞-小鼠神经元-无锡欣润生物科技有限公司 | 郑州大巴车出租|中巴车租赁|旅游大巴租车|包车|郑州旅游大巴车租赁有限公司 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 青州开防盗门锁-配汽车芯片钥匙-保险箱钥匙-吉祥修锁店 | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 阜阳在线-阜阳综合门户 |