Angular jsonp 请求 coursera api 给出错误
Angular jsonp request coursera api giving error
当我尝试在 Angular 中使用 jsonp 方法请求 coursera api 时出现以下错误。
Refused to execute script from
'https://api.coursera.org/api/courses.v1?callback=angular.callbacks._0'
because its MIME type ('application/json') is not executable, and
strict MIME type checking is enabled.
我已经查看了其他答案,但找不到正确的解决方案。
这是我认为正确完成的代码,因为它成功获取了其他 CORS 资源。我不知道 coursera api.
是怎么回事
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;
Refused to execute script … because its MIME type ('application/json') is not executable
URL https://api.coursera.org/api/courses.v1?callback=JSON_CALLBACK
正在返回 JSON,而不是 JSONP。
当您发出 JSONP 请求时,服务器必须响应 JSONP 格式的数据(这是 JavaScript 脚本的一种特殊形式)。您正在与之通话的服务器没有。
This is my code which I think is done correctly as it fetches other CORS resources successfully.
JSONP 是我们在 CORS 存在之前使用的。这是一个聪明但肮脏的黑客攻击,具有一些安全隐患。
如果可以改用 CORS,请改用 CORS。 (服务器似乎也没有授予 CORS 权限,这使您不得不通过另一台服务器而不是直接从客户端获取数据)
当我尝试在 Angular 中使用 jsonp 方法请求 coursera api 时出现以下错误。
Refused to execute script from 'https://api.coursera.org/api/courses.v1?callback=angular.callbacks._0' because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled.
我已经查看了其他答案,但找不到正确的解决方案。
这是我认为正确完成的代码,因为它成功获取了其他 CORS 资源。我不知道 coursera api.
是怎么回事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;
Refused to execute script … because its MIME type ('application/json') is not executable
URL https://api.coursera.org/api/courses.v1?callback=JSON_CALLBACK
正在返回 JSON,而不是 JSONP。
当您发出 JSONP 请求时,服务器必须响应 JSONP 格式的数据(这是 JavaScript 脚本的一种特殊形式)。您正在与之通话的服务器没有。
This is my code which I think is done correctly as it fetches other CORS resources successfully.
JSONP 是我们在 CORS 存在之前使用的。这是一个聪明但肮脏的黑客攻击,具有一些安全隐患。
如果可以改用 CORS,请改用 CORS。 (服务器似乎也没有授予 CORS 权限,这使您不得不通过另一台服务器而不是直接从客户端获取数据)