javascript - Jsonp 出现 No 'Access-Control-Allow-Origin' 错误

标签 javascript php json angularjs

在我的 php 中,我确实喜欢这样回显 jsonp 类型“json data”

echo $_GET['callback'] . '('.json_encode($arr).')';

在我的 js (angularjs) 中我这样做

$http.get('http://example.com/app/?callback').
    success(function(data, status, headers, config) {
      console.log(data);
    });

但是我收到了这个错误

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8100' is therefore not allowed access.

最佳答案

如果我没记错的话,您需要指定 JSON_CALLBACK 作为回调参数并使用 $http.jsonp()$http({method : 'jsonp'}) 如果您想将 jsonp 与 $http 一起使用。

您没有为回调参数指定任何内容,并且正在尝试使用 $http.get()

尝试一下:

$http.jsonp('http://example.com/app/?callback=JSON_CALLBACK').
success(function(data, status, headers, config) {
  console.log(data);
});

关于javascript - Jsonp 出现 No 'Access-Control-Allow-Origin' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28926243/

相关文章:

javascript - 多次调用子组件构造函数

php - 防止包含的 htm 页面在父 php 页面之外加载

php - 检查 MySQL 中的日期范围冲突

php - 使用 PHP 从 .p12 文件读取所有者证书数据

ruby-on-rails - ActionController::UnknownFormat 用于 json 响应

javascript - 如何递归创建 jQuery UI droppables?

javascript - 带 anchor 按钮的多束 Accordion 效果

javascript - Angular 5 - 带选择的 JSON

json - 我如何在 Go Lang 中使用多个元素对 JSON 进行编码

javascript - json数据未分配给输入框