JSON - CORS混淆

时间:2015-05-28 09:10:37

标签: json cors

我在检索要在窗口小部件中使用的JSON提要时遇到问题。

我用谷歌搜索了它,似乎让自己更加困惑。

我有这段代码

function insertReply(content) {
    document.getElementById('holder').innerHTML = content.result;
}

// create script element
var script = document.createElement('script');
// assing src with callback name
script.src = 'https://www.googleapis.com/freebase/v1/text/en/bob_dylan?callback=insertReply';
// insert script to document and load content
document.body.appendChild(script);

来自这篇文章 - Get JSON data from external URL and display it in a div as plain text

哪个效果很好。但是,如果我更改了URL,则在控制台中没有响应且没有错误。

新网址:http://finance.google.com/finance/info?client=ig&q=NASDAQ:GOOG

为什么一个工作而另一个工作?

编辑@Amit

Amit很抱歉被禁止,但我是JQuery和javascript的新手。你把它们放在哪里?我有

<!DOCTYPE html>
<html>
<head>
<title>Widget Holder</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
</style>
</head>

<body>
    <form runat="server">
    <div id="holder"></div>
    </form>
    <script type="text/javascript">
        $().ready(function () {
            $.get("http://finance.google.com/finance/info?client=ig&q=NASDAQ:GOOG", function (data) {
                debugger;
                $("#holder").html(data);
            });
        });
    </script>


</body>
</html>

但仍然会收到此错误

阻止跨源请求:同源策略禁止在http://finance.google.com/finance/info?client=ig&q=NASDAQ:GOOG读取远程资源。 (原因:缺少CORS标题'Access-Control-Allow-Origin'。

2 个答案:

答案 0 :(得分:1)

我设法使用PHP代理来修复问题以获取数据。我使用过的代理可以在http://benalman.com/code/projects/php-simple-proxy/examples/simple/

找到

感谢您对此主题的所有帮助。

答案 1 :(得分:0)

剧本:

$().ready(function () {
            $.get("http://finance.google.com/finance/info?client=ig&q=NASDAQ:GOOG", function (data) {
                debugger;
                $("#holder").html(data);
            });
        });

html:

<form runat="server">
    <div id="holder"></div>
    </form>

正在为我工​​作。