我正在尝试通过 jQuery 对远程服务进行身份验证。首先,我验证我可以在浏览器之外执行此操作:
curl -X POST -H "Content-Type: application/json" -H "Accept: appliction/json" -d '{"username":"...","password":"..."}' http://example.com/auth
这成功地返回了一个令牌。
现在我用 jQuery 试试:
$.ajax({
url: "http://example.com/auth",
type: "POST",
dataType: "json",
contentType: "json",
data: {username:"...",password:"..."},
error: function(data){alert(JSON.stringify(data))},
success: function(data){alert(JSON.stringify(data))}
});
我收到服务器错误 (500)。显然我做错了什么。这是我第一次尝试在 jQuery 中进行 POST,所以我不知道如何确定问题所在。我在这里做错了什么?
PS 如果我已经有一个令牌,我可以通过 jQuery 成功执行 GET 请求:
$.ajax({
url: "http://example.com/stuff?token=f42652adcbfe3ed9d59fae62b5267b8d",
type: "GET",
dataType: "json",
error: function(data){alert(JSON.stringify(data))},
success: function(data){alert(JSON.stringify(data))}
});