$.get('/users/test/' + username, {
statusCode: {
409: () => {
valid = false;
alert(username + ' is unavailable');
},
200: () => {
valid = true;
}
}
});
在我的服务器上,我应该看到:
"GET /users/test/asdf HTTP/1.0" 200 0
但我发现jquery乐于附加一些愚蠢的查询字符串:
"GET /users/test/asdf?statusCode%5B200%5D=&statusCode%5B409%5D= HTTP/1.0" 200 0
Jquery回来了200但409代码仍在运行。发生了什么事?
答案 0 :(得分:1)
您在第二个参数中传递一个对象,其中包含的内容似乎是基于状态代码的响应处理程序。
jQuery并没有这样做。 $.get()
的第二个参数是可选的data
参数,用于将数据传递给服务器。 jQuery序列化此数据并将其作为get
请求中的查询字符串包含在内。
$.get({
url: '/users/test/' + username,
statusCode: {
409: () => {
valid = false;
alert(username + ' is unavailable');
},
200: () => {
valid = true;
}
}
});