首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角jsonp请求coursera提供错误

角jsonp请求coursera提供错误
EN

Stack Overflow用户
提问于 2016-09-15 21:39:30
回答 1查看 305关注 0票数 0

当我尝试用jsonp方法在角中请求coursera时,给出了以下错误。

拒绝从'0‘执行脚本,因为它的MIME类型('application/json')是不可执行的,并且启用了严格的MIME类型检查。

我已经看过了其他的答案,但没有找到正确的解决办法。

这是我的代码,我认为这是正确的,因为它成功地获取了其他CORS资源。我不知道coursera是怎么回事。

代码语言:javascript
复制
var deferred = $q.defer();
var url = "https://api.coursera.org/api/courses.v1?callback=JSON_CALLBACK";
$http.jsonp(url).success(function(data) {
  deferred.resolve(data);
  })
  .error(function(data, status, headers, config) {
    deferred.reject(status);
    });
return deferred.promise;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-15 21:44:36

拒绝执行脚本…因为它的MIME类型('application/json')不能执行

URL https://api.coursera.org/api/courses.v1?callback=JSON_CALLBACK返回的是JSON,而不是JSONP。

当您发出JSONP请求时,服务器必须使用JSONP格式的数据(这是JavaScript脚本的一种特殊形式)进行响应。与您交谈的服务器不会。

这是我的代码,我认为这是正确的,因为它成功地获取了其他CORS资源。

JSONP是我们在CORS存在之前使用的。这是一个聪明的,但肮脏的,带有一些安全含义的黑客。

如果你可以用CORS代替,那么使用CORS代替。(服务器似乎也没有授予CORS权限,这使得您不得不通过另一台服务器而不是直接从客户端获取数据)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39520773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档