$.ajax请求总是401(未授权)
$.ajax request always 401 (UNAUTHORIZED)
我正在尝试使用带有$.ajax.的Kippt API
当我使用时
curl -X GET -H "X-Kippt-Username:graph1ZzLle" -H "X-Kippt-API-Token:mytoken" https://kippt.com/api/clips/
一切运行良好,我得到了JSON响应。
然而,当要将jQuery与以下脚本一起使用时:
<script type="text/javascript">
var username = "graph1ZzLle";
var token = "*******";
$(document).ready(function() {
$.ajax({
url: "https://kippt.com/api/clips/?list=all&include_data=list&limit=10",
type: 'GET',
dataType: 'jsonp',
async: false,
beforeSend: function(xhr) {
xhr.setRequestHeader('X-Kippt-Username', username)
xhr.setRequestHeader('X-Kippt-API-Token', token)
},
success: function(data) {
for(var i = 0; i < data.objects.length; i++) {
var row = $("<tr/>");
var date = new Date(data.objects[i]["created"] * 1000); //js works in milliseconds
$("<td/>").text(date.toLocaleDateString()).appendTo(row);
$("<td/>").text(data.objects[i]["list"]["title"]).appendTo(row);
$("<td/>").append("<a href=" + data.objects[i]["url"] + " >" + data.objects[i]["title"] + "</a>").appendTo(row);
if(data.objects[i]["notes"]) {
$("<td/>").text(data.objects[i]["notes"]).appendTo(row);
} else {
$("<td/>").text("-----").appendTo(row);
}
row.appendTo("#kippt");
}
},
});
});
</script>
我总是遇到401(未授权)错误。我确信我使用的是正确的用户名和令牌。发生了什么事?
您不能用JSONP数据类型设置头。JSONP请求是通过在文档中插入一个<script>
标记来创建的,src设置为目标位置,并且由于不能使用标记传递标头,因此会忽略标头设置。
可以使用CORS和JSON,也可以使用为您获取数据的服务器端代理。
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Twitter API在jQuery AJAX中设置授权头
- 如何触发带有第一个请求(Windows 身份验证)的授权标头的 AJAX 帖子
- (Ajax & Express js)Express js 授权中间件
- 授权标头仅在 AJAX CORS 请求中追加一次
- 如何解决ASP.NET中Ajax调用的授权问题
- 交叉原点'授权'-带有jquery.ajax()的头
- jQuery Ajax未经授权的401错误
- 设计ajax请求授权用户
- 如何使用JS/AJAX/JQUERY为POST表单添加头部授权
- ajax后调用MVC动作时,我使用[授权]给出状态:200错误
- 调用需要AJAX授权的Google Apps Script
- 发出jQuery Ajax请求时,授权头为空
- 带有授权头的Ajax GET
- Ajax jquery未经授权的请求
- 发送& # 39;授权# 39;标题在Ext JS Ajax请求,Chrome vs. Firefox
- $.ajax请求总是401(未授权)
- AJAX GMAIL API调用授权错误
- 只允许授权的AJAX请求
- 在自定义授权期间强制ajax .fail()来管理登录重定向