web开发时,一个不可避免的问题就是前后台数据交互。对于还是小白的楼主来说,交互是一个很纠结的问题。
案例:
对于ajax提交数据到后台显示Bad requst。浏览器调试显示404,请求没有进入后台。但是你请求的url地址是正确的,并且有正确的响应。
解决方案:
1,对于常规检查,首先考虑url地址是否正确
2,请求的方式(post|get)
3,如果1和2都没有问题,考虑是不是参数的问题。
个人疑问:
1,传递的参数是不是不能为空?
$("#pop_submit_btn").click(function (evt) {
evt.preventDefault();
var addfrom = $("#addinfo_form");
var data = addfrom.serializeArray();
var url = addfrom.attr("action");
var tmp_data = [];
$.each(data,function(i,v){
if(v.value){
tmp_data.push({name:v.name,value:v.value});
}
});
console.log(tmp_data);
tmp_data.push({name:"_save",value:""});
$.ajax({
url: url,
data: tmp_data,
type: 'POST',
dataType: "json",
success: function (res) {
if(res.value){
alert(res.value);
}
},
error: function (res) {
}
});
});
也就是说,数据为空的根本不传递到后台,但是这样推翻了一个问题,请求的url地址不能为空
2,是不是传递参数不匹配的问题
这个注意,参数类型不匹配可能出现这样的问题。
那么,有没有可能是个数不匹配?