解决ajax请求(SpringMVC后台)响应415/400/405错误
解决ajax请求(SpringMVC后台)响应415/400/405错误
后端代码
bean
public class user { private String username; private String password; private Integer age; //省略get set }
SpringMVC
@RequestMapping(value = "testMethod",method = RequestMethod.POST) @ResponseBody public String getUser(@RequestBody user u){ System.out.println(u); return "success";
}
415错误
没有设置 contentType: "application/json"
ajax
$.ajax({ url:baseurl+"test/testMethod", type:"POST", data:JSON.stringify({ "username":"user666", "password":"a123456", "age":19 }),
success:function (res) { console.log(res); }, error:function () { console.log("网络错误"); } })
原因
//没有设置contentType: "application/json", //更正之后 $.ajax({ url:baseurl+"test/testMethod", type:"POST", contentType: "application/json", data:JSON.stringify({ "username":"user666", "password":"a123456", "age":19 }), success:function (res) { console.log(res); }, error:function () { console.log("网络错误"); } })
400错误
没有对传输的内容进行格式化 JSON.stringify(jsonobj)
ajax
$.ajax({ url:baseurl+"test/testMethod", type:"POST", contentType: "application/json", data:{ "username":"user666", "password":"a123456", "age":19 }, success:function (res) { console.log(res); }, error:function () { console.log("网络错误"); } })
原因
//没有对传输的数据进行转换为JSON字符串JSON.stringify(jsonobj) //更正之后
$.ajax({ url:baseurl+"test/testMethod", type:"POST", contentType: "application/json", data:JSON.stringify({ "username":"user666", "password":"a123456", "age":19 }), success:function (res) { console.log(res); }, error:function () { console.log("网络错误"); } })
405错误
通常是type 请求类型设置与后端所限制的请求不一致
ajax
$.ajax({ url:baseurl+"test/testMethod", type:"GET", contentType: "application/json", data:JSON.stringify({ "username":"user666", "password":"a123456", "age":19 }), success:function (res) { console.log(res); }, error:function () {
console.log("网络错误"); } })原因
//请求类型与后端设置的不一致 正确应为 type:"POST" //更正之后 $.ajax({ url:baseurl+"test/testMethod", type:"POST", contentType: "application/json", data:JSON.stringify({ "username":"user666", "password":"a123456", "age":19 }), success:function (res) { console.log(res); }, error:function () { console.log("网络错误"); } })
解决ajax请求(SpringMVC后台)响应415/400/405错误的更多相关文章
- http 500 Internal Server Error的错误 ajax请求SpringMVC后台中返回500 Internal Server Error
使用httprequester接口测试能返回数据,但是用ajax返回json格式的时候返回报500Internal Server Error. The server encountered an in ...
- 解决Ajax请求跨域问题
from:https://blog.csdn.net/wang379275614/article/details/53333775 上篇文章提到,由于浏览器的同源策略,使得,AJAX请求只能发给同源的 ...
- Jquery progressbar通过Ajax请求获取后台进度演示
项目源代码下载:http://download.csdn.net/detail/nuptboyzhb/6262253 1.简介 本文主要演示Jquery progressbar的进度条功能.js通过a ...
- 解决Ajax请求后台Servlet接口拿不到JSON数据问题
前端Ajax请求代码如下: window.onload=function() { var url='http://127.0.0.1:8080/testpj/ErrorlogServlet'; $.a ...
- 使用ajax请求SpringMVC返回Json出现乱码解决方法
1:在使用ajax请求后台访问数据的数据,后台返回的数据是乱码,带??问号的乱码,之前还一直没有遇到过,在这里记录整理一下,贴出解决代码! (1):前台使用ajax ,已经设定返回的结果为json格式 ...
- 解决ajax请求跨域
跨域大部分需要通过后台解决,引起跨域的原因: 3个问题同时满足 才可能产生跨域问题,即跨域(协议,主机名,端口号中有一个不同就产生跨域) 下面是解决方法 方法一 // ajax请求跨域 /* *解决a ...
- 解决ajax请求cors跨域问题
”已阻止跨源请求:同源策略禁止读取位于 ***** 的远程资源.(原因:CORS 头缺少 'Access-Control-Allow-Origin').“ ”已阻止跨源请求:同源策略禁止读取位于 ** ...
- 解决Ajax请求时无法重定向的问题
今天发现,当使用Ajax请求时,如果后台进行重定向到其他页面时是无法成功的,只能在浏览器地址栏输入才能够实现重定向. Ajax默认就是不支持重定向的,它是局部刷新,不重新加载页面. 需要实现的功能是, ...
- jQuery解决ajax请求的跨域问题
这两天工作中频繁的遇到JS的跨域问题,都通过绕开ajax请求的方式.特地百度了一下,把跨域问题解决了.在这分析一下 首先贴上js的页面代码: <html> <head> < ...
随机推荐
- C++中 set(集合容器)的用法
set集合容器: 实现了红黑树(Red-Black Tree)的平衡二叉检索树的数据结构,在插入元素时, 它会自动调整二叉树的排列,把该元素放到适当的位置,以确保每个子树根节点的键值大于左子树所有节点 ...
- [uva] 10099 - The Tourist Guide
10099 - The Tourist Guide 题目页:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemi ...
- 微软与Node.js的开源之旅
微软近年来在开源领域可谓是大刀阔斧的前进中,继2015年微软与红帽合作,微软智能云Azure与Linux进一步融合等举措之后,2016年,微软继续加大开源之举,大力推进Node.js的开发和开源社区的 ...
- 一、docker学习笔记——安装docker
系统win10 企业版 1.下载docker CE 2.安装.注意,由于docker 与Oracle VM VirtualBox 冲突,在windows平台上二者不可共存.你只能2选1!! 3.如果d ...
- 【源码分析】cocos2dx的Action
第一次去学习Action,总会找到一篇入门的帖子(官网:http://cn.cocos2d-x.org/article/index?type=cocos2d-x&url=/doc/cocos- ...
- Python+Selenium2自动化测试之IE、chrome浏览器启动
构建Python+Selenium2自动化测试环境完成之后,就需要测试支持python的selenium的版本是否都支持在不同浏览器上运行,当前我们分别在三个最通用的浏览器上通过脚本来测试. 1.在I ...
- Windows 实用小工具
超实用的Windows工具 ====================================================================================== ...
- yii2.0里的redirect跳转方法
在yii2框架里难免会出现跨控制器跳转,调用方法等,这就用到了redirect了, 带参数的 $control=Yii::app()->runController('site/show/id/2 ...
- oracle获得ddl语句
dbms_metadata.get_ddl()用于获取对象的DDL,其具体用法如下.注意:在sqlplus里,为了更好的展示DDL,需要设置如下参数:set line 200set pagesize ...
- easyui学习笔记4—panel的实现
这篇看看easyui是怎么实现panel的,就是类似一个容器,里面可以装具体内容或者其他的easyui控件. 1.这里先看看引用的资源文件 <link rel="stylesheet& ...