2016-07-06 72 views
0

如何从此URL获取JSON数据,访问“url”字段并将其存储为字符串。所有的解决方案似乎只能在服务器上运行。即在apache服务器上运行php或类似的东西。当我运行我的代码:从jquery/javascript解析HTML页面的JSON

$(document).ready(function() { 
    var url = 'http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US'; 
    $.get(url, function (data) { 
     $(data).find("url").each(function() { 
      var el = $(this); 

     console.log("------------------------"); 
     console.log("link  : " + el.find("url").text()); 
     }); 
    }); 
}); 

我得到的错误:XMLHttpRequest的无法加载...没有“访问控制允许来源”标头出现在所请求的资源。我已经广泛研究,但所有解决方案都不适用于本地文件。 JSONP和CORS在这里似乎都不起作用。

编辑:让我试着将其细化为一个更简单的问题。 是否可以在不使用服务器端脚本的情况下解析JSON对象?

+4

您不能访问它比bing.com –

+1

冰任何其他域的不工作的慈善机构。 – miyamoto

+0

@Daniel_L我看过代码'document.domain ='example.com''来设置域名,可以在本地使用还是只能在服务器上使用? – Alex

回答

-2

如果这适合您使用服务器端脚本,请尝试这一个。 JavaScript设置后查询

$(document).ready(function() { 
    var url = 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US'; 
    $.post('/get.php',{u:url}, function (data) {   
     console.log(data); 
    }); 
}); 

服务器文件get.php:

$ch = curl_init($_POST['u']); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$response = curl_exec($ch); 
curl_close($ch); 

echo $response; 
+0

这里的目标是不使用php。如果页面是php,有很多解决方案,但我无法访问此页面所在的服务器。 – Alex