如何使用" 401获取jsonp数据取消授权"状态?

时间:2015-11-08 10:47:04

标签: javascript json jsonp

如何使用" 401获取jsonp数据取消授权"状态。

这是我的代码:



<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Script</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">
</head>
<body>
<h1>Script</h1>
<pre id="output">Loading…</pre>
<script>
function getcode(data) {
var data = JSON.stringify(data, undefined, 2);
document.getElementById('output').innerHTML = data;
}
</script>
<script src="https://localhost:7783/track?callback=getcode"></script>
</body>
</html>
&#13;
&#13;
&#13;

当我尝试使用&#34; HTTP 200&#34;来获取数据时,此代码运行良好。状态。

回应示例401:

&#13;
&#13;
HTTP/1.1 401 Authorization Required
Date: Sun, 08 Nov 2015 10:43:21 GMT

getcode({"track":"4632874-423423-42342343123-32132131-432-43242-4324"})
&#13;
&#13;
&#13;

所以问题是: 当状态为401未授权时如何获取jsonp数据?我想得到这个&#34; getcode({&#34; track&#34;:&#34; 4632874-423423-42342343123-32132131-432-43242-4324&#34;})&#34; ?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

你不能。

浏览器在发送HTTP错误状态时不会执行脚本。

转而使用XMLHttpRequest(如果需要跨域支持,则转换为CORS)。 JSONP是为了绕过相同的原始策略而引入的hack,因为它是一个hack,有许多限制。 CORS是针对该问题的标准的,经过深思熟虑的解决方案,并且具有更少的限制。