1

为什么这个调用会像这样显示编码到 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 格式发送...

4

3 回答 3

1

GET请求没有请求正文,因此所有信息必须作为查询参数存储在 url 中。我还建议不要使用 Javascript 对用户进行身份验证,并且肯定会提出这个POST请求。

于 2012-12-14T19:37:09.190 回答
1

因为它是一个GET请求。

GET将在查询字符串中发送数据。如果您想避免这种情况,您可以将您的类型更改为POST POST 将在请求正文中发送数据。

$.ajax({ url: "api/auth",
 type: "post", 
  //other stuff
});

如果是登录表单,您可能应该使用POST方法。

于 2012-12-14T19:37:18.483 回答
1

因为代码指定了请求类型GET。请求通过GET查询字符串传递参数。如果您不想使用查询字符串,则应切换到帖子。

$.ajax({ url: "api/auth",
 type: "post", 
 data: { user: "jon", password: "123" },
 dataType: "json", 
 contentType: "application/json; charset=utf-8" 
});
于 2012-12-14T19:37:41.513 回答