Jsonp获得No' Access-Control-Allow-Origin'错误

时间:2015-03-08 12:13:37

标签: javascript php json angularjs

在我的php中,我喜欢回复jsonp类型' json数据'

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.

1 个答案:

答案 0 :(得分:1)

如果我没有弄错,您需要指定JSON_CALLBACK作为回调参数,如果要将jsonp与$http.jsonp()一起使用,则需要使用$http({method: 'jsonp'})$http

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

给它一个旋转:

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