我正在尝试验证Sabre Api并且不确定为什么我收到错误“405:方法不允许”。这是代码。凭证是正确的。我把它们搞砸了。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<script type="text/javascript">
$.ajax({
'url': 'https://api.sabre.com/v1/auth/token',
'data': 'grant_type=client_credentials',
'dataType': 'jsonp',
'type': 'post',
'headers': {'Authorization': 'Basic xxxxxxxxxxxxxxxxxxxxx:xxxxxxxx',
'Content-Type': 'application/x-www-form-urlencoded'
}
});
</script>
</body>
</html>
答案 0 :(得分:0)
不确定这是否仍然是一个问题,只是在寻找一些事情并碰到这一点。
如果我尝试使用'dataType': 'json'
而不是jsonp
,我会使用我的凭据获得成功回复。
问候。
答案 1 :(得分:-1)
您提到的用于身份验证的Sabre API服务在身份验证请求中接受POST方法。见以下参考:
https://developer.sabre.com/docs/read/rest_basics/authentication
如果寻找纯粹的Javascript实现,现代浏览器通过XMLHttpRequest API很好地支持HTTP,尽管XMLHttpRequest名称不限于XML表示。
http://en.wikipedia.org/wiki/XMLHttpRequest
如果考虑使用REST for JavaScript,建议您考虑使用此方法。
此处可找到有关此API的更多文档信息: http://www.w3.org/TR/XMLHttpRequest/