为什么此调用会显示编码到URL上的值?
http://localhost:49597/api/auth?user=jon&password=123
使用以下ajax调用...
$.ajax({ url: "api/auth",
type: "get",
data: { user: "jon", password: "123" },
dataType: "json",
contentType: "application/json; charset=utf-8"
});
我希望将数据作为json发送...
答案 0 :(得分:1)
GET
个请求没有请求正文,因此所有信息都必须作为查询参数存储在url中。我还建议不要使用Javascript对用户进行身份验证,并且肯定会将其作为POST
请求。
答案 1 :(得分:1)
因为它是 GET 请求。
GET
将在查询字符串中发送数据。如果您想避免这种情况,可以将类型更改为 POST POST将在请求正文中发送数据。
$.ajax({ url: "api/auth",
type: "post",
//other stuff
});
如果是登录表单,您应该使用POST
方法。
答案 2 :(得分:1)
因为代码指定了GET
类型的请求。 GET
请求通过查询字符串传递参数。如果您不想使用查询字符串,则应切换到帖子。
$.ajax({ url: "api/auth",
type: "post",
data: { user: "jon", password: "123" },
dataType: "json",
contentType: "application/json; charset=utf-8"
});