Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在网站上显示JSON提要_Javascript_Json - Fatal编程技术网

Javascript 在网站上显示JSON提要

Javascript 在网站上显示JSON提要,javascript,json,Javascript,Json,我试图在我正在工作的网站上加载一个JSON提要。我在网上浏览了一下,似乎有很多例子,但很少有关于如何将远程网页的JSON作为对象返回的信息 目前,我有下面的测试代码,我正在工作 我试图进入我的网页的JSON提要是; 当前的目标只是查看返回的JSON提要,以便了解其工作原理,因此我一直在使用下面的代码片段 <html> <title></title> <head> <script type="text/javascript">

我试图在我正在工作的网站上加载一个JSON提要。我在网上浏览了一下,似乎有很多例子,但很少有关于如何将远程网页的JSON作为对象返回的信息

目前,我有下面的测试代码,我正在工作

我试图进入我的网页的JSON提要是;

当前的目标只是查看返回的JSON提要,以便了解其工作原理,因此我一直在使用下面的代码片段

<html>
<title></title>
<head>
<script type="text/javascript">
    var xhttp = new XMLHttpRequest();       
var wowprogress
//var xhttp = new ActiveXObject("Microsoft.XMLHTTP"); // Commented out currently, use for IE
xhttp.open("GET","http://www.wowprogress.com/guild/us/frostmourne/Group+Therapy/rating.tier13_10/json_rank",false);
xhttp.send();

var myJSONString = xhttp.innerTEXT;
alert(myJSONString);    

var myObject = eval("(" + myJSONString + ")");
var myValue = myObject.realm_rank;
    alert(myValue);

    </script>
    </head>
    <body>
    </body>
    </html>

var xhttp=newXMLHttpRequest();
var wowprogress
//var xhttp=newactivexobject(“Microsoft.XMLHTTP”);//当前已注释掉,用于IE
xhttp.open(“GET”http://www.wowprogress.com/guild/us/frostmourne/Group+治疗/评级。第13级/10级/json级”,假);
xhttp.send();
var myJSONString=xhttp.innerTEXT;
警报(myJSONString);
var myObject=eval(“+myJSONString+”);
var myValue=myObject.realm\u秩;
警报(myValue);
我们将非常感谢您的帮助,或者是进一步调查的正确方向


谢谢:)

首先,不要使用eval。它非常不安全


而是使用JSON.parse(您的_JSON)将数据转换为对象文本。当您使用完它并希望将其打包用于传输时,就可以使用JSON.stringify(您的_JSON)

我认为您遇到了跨域问题。默认情况下,浏览器不允许使用XHR(ajax)获取位于不同于主机页的域(这也包括子域)上的文档

有一些变通办法:

  • :这可能不是一个选项,因为它需要在您不拥有的服务器上进行配置

  • :如果远程服务器理解,这可能是一个选项。它本质上是一个封装在函数调用中的JSON响应,因此您可以将其作为普通JS包含在页面中

  • 代理:在服务器上创建代理,以便可以向同一域发出ajax请求。本·阿尔曼有一个简单的例子

简而言之,您将需要另一种传输机制,以便能够通过JS将远程文档加载到页面上


我希望这有帮助!干杯。

同源策略阻止您向其他域发出AJAX请求。您可能需要实现一个代理或JSONP包装器。