问题描述
本来好好的HTTP GET请求,地址如下
http://host:port/lxnc/wx/wfssp/ajax/wdjbData?openid=oQekKuBfnEgJNipNx6zLZgZwm9aM&random=147739072
结果用调试器拦截到的对外请求地址却变成了这样
http://host:port/lxnc/wx/wfssp/ajax/wdjbData?openid=oQekKuBfnEgJNipNx6zLZgZwm9aM&random=147739072&0=&1=&2=&3=&4=&5=&6=&7=&8=&9=
问题解决
我在使用jquery时没有问题的,换成zepto就成这样了。然而原因是这样的。我的请求函数如下。注意,data参数值没有使用严格的json格式,并且貌似不能使用整型值。
$.ajax({
type: "GET",
url: requestSspUrl,
data: {start: PageUtils.start, length: PageUtils.length},
dataType: "json",
success: function (result) {
//TODO
},
error: function (error) {
console.error(error);
}
});
修改后
$.ajax({
type: "GET",
url: requestSspUrl,
data: {"start": PageUtils.start+"", "length": PageUtils.length+""},
dataType: "json",
success: function (result) {
//TODO
},
error: function (error) {
console.error(error);
}
});
本文讨论了一个HTTP GET请求的URL在使用某些库(如zepto)时被意外切分的问题。问题源于非标准的JSON格式数据和整型值的使用。在jQuery中请求正常,但在切换到zepto后,请求地址出现错误。解决方案在于确保数据参数严格遵循JSON格式,并避免使用可能导致URL截断的整型值。
382

被折叠的 条评论
为什么被折叠?



