如何从另一个域

时间:2016-08-05 13:48:28

标签: javascript jquery json ajax web

我有一个小页面,我需要从另一个域获取JSON。如果这样做:

  $.get( "http://dev.frevend.com/json/users.json", function( data ) {
    console.log(data);
    alert( "Load was performed." );
  });

我收到错误。我理解为什么会抛出这个错误,但我不知道如何避免它。 我无法访问服务器。

  

XMLHttpRequest无法加载http://dev.frevend.com/json/users.json。没有   请求中存在“Access-Control-Allow-Origin”标头   资源。因此不允许来源“http://localhost:3000”   访问。

我也试过使用JSONP,但据我所知,服务器应该用回调函数包装响应,因为我得到了一个SyntaxError。

是否可以使用JSONP发出此请求? 我试过了

  $.ajax({
    url: "http://dev.frevend.com/json/users.json",
    dataType: "jsonp",
    jsonpCallback: "logResults"
  });

  function logResults(data) {
    console.log(data);
  }

但得到了

  

Uncaught SyntaxError:意外的令牌:

JSON有效,我查了一下。

3 个答案:

答案 0 :(得分:0)

您需要允许在项目配置中进行访问。 以下网站有更多信息

http://enable-cors.org/server.html

谢谢,

答案 1 :(得分:0)

在jquery中使用JSONP实现此目的JSONP reference

答案 2 :(得分:-2)

尝试在PHP文件中添加一个标题,负责执行每个请求。

header('Access-Control-Allow-Origin', '*');