如何实现jquery crossDomain

时间:2015-06-23 21:32:06

标签: javascript jquery ajax

尝试让我的html / JS文件从此链接读取并打印firstName:  http://www.w3schools.com/jquery/demo_ajax_json.js,作为我想要做的其他事情的试验。

收到此错误:Access-Control-Allow-Origin不允许使用Origin null,因此尝试使用crossDomain。

阅读:jquery API但不确定如何正确实现

我的JS代码(我知道它已关闭,但不知道如何纠正它):

var myArray = [];
var jsonArrayObj;
$.ajax{
    crossDomain: true}).done(function(){ 
        $(document).ready(function(){
            myArray = $.getJSON("http://www.w3schools.com/jquery/demo_ajax_json.js", function(result){
                myArray = JSON.parse(myArray);
                console.log(myArray.firstName);
            });
        });
    });

我不明白JS中的函数()是什么

2 个答案:

答案 0 :(得分:1)

除非网站允许您访问网站,否则不能使用CORS访问网站。如果在该端点上允许CORS,则会有Access-Control-Allow-Origin: *的HTTP标头(或特定主机名)。因此,您尝试与之交谈的服务器必须有一个标题,允许这种情况发生。

该端点适用于w3schools getJSON() demo page,因为JavaScript从与XHR目标相同的域运行(因此不需要CORS)。

更多信息:MDN: HTTP access control (CORS)

JSONP/JSON-P是CORS的替代方案,但该端点似乎也不支持它(至少不支持典型的callback查询字符串键。)

答案 1 :(得分:0)

因为CORS。尝试在本地加载文件。

在您的代码中,您使用的是匿名函数。互联网上有很多关于javascript函数的页面。

功能:

http://www.w3schools.com/js/js_functions.asp https://en.wikibooks.org/wiki/JavaScript/Anonymous_Functions

如果您不熟悉JS语法,请尝试使用在线课程来了解它。

JAVASCRIPT COURSE:

http://www.codecademy.com/en/tracks/javascript

Google了解更多信息。 ;)