【发布时间】:2011-10-09 08:55:16
【问题描述】:
我正在尝试对 API 进行身份验证,该 API 仅允许您使用带有 JSON 作为表单数据的 POST 进行身份验证,格式为 {"username":"myusername","password":"mypassword"}。
我已经尝试了两天来使用 jQuery,但我遇到了问题,因为它是跨域的。我怎样才能做到这一点?
错误信息:
Request Method:OPTIONS
Status Code:405 METHOD NOT ALLOWED
到目前为止的代码:
var username = "myusername";
var password = "mypass"
var authurl = "https://myurl";
$.ajax
({
type: "POST",
url: authurl,
dataType: 'json',
contentType: "application/json; charset=utf-8",
async: false,
data: {'json':'{"username":"' + username + '", "password":"' + password + '"}'},
success: function (result) {
$('#json').html(result);
}
})
总结一下:
- API 仅接受 POST 进行身份验证
- API 需要 json 作为表单数据,例如:{"username":"myusername","password":"mypassword"}
- js从不同域运行,导致跨域错误
非常感谢您的帮助:)
【问题讨论】:
-
您是否有权访问服务器,或者它是某种您无法修改的预定义 API?
标签: javascript jquery json post cross-domain