vue.js ajax传参 后台参数不为application/x-www-form-urlencoded MIME
post请求 过滤器 encodeURI未解决!! 使用contentType也于事无补
help:
https://blog.csdn.net/justlov...
测试环境1:ajax带参请求:name
google
get/post 无变化
前台:直接传递name(值可获取)
后台:解码/不解 效果一致
当参数nam值通过浏览器ajax request请求到后台不为
application/x-www-form-urlencoded MIME 值
效果与编码一致
浏览器的request请求值为application/x-www-form-urlencoded MIME
request 200
个人考虑:前台与后台编码不一致
前端:
data() {
var name=this.$route.query.name;
$.ajax({
url : 'topInfo?name='+name,
contentType: "application/json; charset=utf-8",
type : 'POST', //GET
async : false, //或false,是否异步
//timeout : 5000, //超时时间
dataType : 'json', //返回的数据格式:
success : function(data) {
this.items = data.data;
},
error : function(data) {
alert("失败!!");
}
})
debugger;
return {
items
}
},
后台:
public void moreList() throws Exception
{
if("".equals(name)||name==null){
SessionUtils.outRightJSon(this.response,"--null--");
} else if(name.equals("%E5%91%A8%E8%80%81%E5%B8%88")){
SessionUtils.outRightJSon(this.response,"--周老师--");
}
//URLDecoder.decode(name,"UTF-8")
request.setCharacterEncoding("utf-8");
ContentVO listContentVo = topServiceImpl.more(name,5);
SessionUtils.outRightJSon(this.response, listContentVo);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这明显前端url编码了,后端解码就是了。
但可能前后端编码与解码的规则不统一,如果没有什么特殊字符,不要编码也可以。
另外,不是说 post请求吗?怎么截图里不是。