尝试让我的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中的函数()是什么
答案 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了解更多信息。 ;)