1

我哪里错了

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>title</title>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
$.get("http://api.angel.co/1/tags/1654/startups?callback=aaa",
   function(data) {
     $('body').append( "Name: " + data );
   }, "json");

</script>

    </head>

<body>

</body>
</html>

XMLHttpRequest 无法加载http://api.angel.co/1/tags/1654/startups?callback=aaa。Access-Control-Allow-Origin 不允许 Origin null。

4

5 回答 5

9

尝试使用 jquery ajax

$.ajax({
    url:"http://api.angel.co/1/tags/1654/startups?callback=aaa",
    type:'GET',
    dataType:'JSONP',
    success: function(data){
        $('body').append( "Name: " + data );
    }
});
于 2013-04-21T11:24:41.917 回答
2

Access-Control-Allow-Origin 不允许 Origin null

除非您使用 JSONP,否则您无法使用 XMLHttpRequest 访问另一个域(与您所在的域不同)

阅读有关Same_origin_policy 的更多信息

于 2013-04-21T11:13:23.600 回答
2

您必须托管在某个服务器上才能运行 AJAX,否则它总是会说

Origin null is not allowed ...

尝试 WAMP/LAMP 或使用 Apache tomcat 在 localhost 上运行您的 HTML 代码。它将使您的域 localhost 而不是 null 并修复它。

PS:跨域问题可能仍然存在,具体取决于您所访问的服务器是否允许您从中获取/发布数据。

于 2013-04-21T11:19:46.337 回答
0

以下应该有效:

$.getJSON("http://api.angel.co/1/tags/1654/startups?callback=?", function(data) {
    $(body).append(data);
});

jQuery 将取代 ? 具有调用内联函数的生成函数名称。

于 2013-04-21T11:31:57.077 回答
0

在您的 ajax 调用中包含属性“dataType”和值为“JSONP”。请参考以下示例代码:

$.ajax({
    url: "http://api.angel.co/1/tags/1654/startups?callback=aaa",
    dataType:'JSONP',
    success: function(data) {
        $('body').append( "Name: " + data.name);
    }
});
于 2013-11-08T14:49:00.407 回答