【发布时间】:2012-11-15 11:00:18
【问题描述】:
是否有人对为什么我仍然收到以下代码块的 403 错误有任何建议。
$.ajax({
url: "https://api.bitbucket.org/1.0/repositories/jeffreycwitt/privaterepository/tags",
dataType: "jsonp",
password: "password",
username: "username",
crossDomain: true,
success: function
(returndata){
$.each(returndata, function(key, value){
console.log(key)
});
});
我正在尝试使用他们的 api 从托管在 bitbucket 上的私有存储库中检索信息。以下代码适用于公共存储库。但是,尽管我使用 jquery 设置“密钥”传递了正确的用户名和密码,但我无法获得在私有存储库上进行身份验证的请求。
我的代码是否有问题,或者 bitbucket 是否需要澄清他们希望如何接收用户名和密码值。 (我已经直接联系了他们,他们只会帮助我通过“curl”获得访问权限——我可以这样做:
curl --user username:password https://api.bitbucket.org/1.0/repositories/jeffreycwitt/privaterepository/tags
但是当我尝试通过 ajax 访问信息时,这并没有帮助。有什么建议吗?
谢谢。
【问题讨论】:
-
你在服务器端使用什么语言? ,您从服务器进行身份验证,如果您愿意,可以向服务器发出 ajax 请求,然后服务器到服务器 auth 。您真的打算将用户名和密码留在 HTML 中吗?
-
不——一旦我让它工作——我将对包含密码和用户名的 php 脚本进行单独的 ajax 调用——你有不同的建议吗?
-
这就是你在 c# 中的做法 - 你可以转换为 PHP stackoverflow.com/questions/6696314/…
-
您不能在 jsonp 请求中发送用户名和密码,原因与在包含
<script></script>的 .js 文件时不能发送用户名和密码的原因相同 -
这个(我试过了)怎么样api.jquery.com/jQuery.ajax $.ajax({ url: a_cross_domain_url, xhrFields: { withCredentials: true } });