Jquery getJSON跨域问题
我似乎无法使用JQuerys getJSON从其他域中提取我的JSON文件。 我已将回调部分放在url的末尾,但仍然没有任何乐趣。 Firebug告诉我它是一个跨域问题,这似乎有意义,好像我将json文件本地放在下面的代码中(不包括?jsoncallback =?工作正常)
inheritance人Jquery部分
$.getJSON("http://anotherdomain/js/morearticles.js?jsoncallback=?", function(json){ if (show5More.nextSetCount < json.items.length) { // Check not on last group of data $('#lineupswitch li').hide(); // Hide the existing items $.each(json.items, function(key,value){ // Loop over the returned data from the json file if (key === show5More.nextSetCount) { // If the itteration is equal to the datablock continure show5More.nextSetCount = show5More.nextSetCount + 1; // $(value).each( function(index) { if( (index % 2) == 0) { $('' + this.titletext + '
' + this.paratext + '
').appendTo("#lineupswitch"); } else { $('' + this.titletext + '
' + this.paratext + '
').appendTo("#lineupswitch"); } }); return false; } }); } }); }
和JSON,我已经validation过。
{ “项目”:[ [ { “href”:“/ edinburgh / video / news-090415-s2-squalor-edinburgh /”, “thumbimg”:“http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_19721015001_asset-1239819553334.jpg?pubId=1486976045”, “titletext”:“在被忽视的孩子的家中发现的大麻植物”, “paratext”:“法院已经听到四个小孩住在”, “cname”:“” }, { “href”:“/ edinburgh / video / news-090414-s2-waverley-station-edinburgh /”, “thumbimg”:“http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_19537855001_asset-1239732920496.jpg?pubId=1486976045”, “titletext”:“Waverley Station的数百万英镑改造”, “paratext”:“爱丁堡的Waverley站设置为”, “cname”:“” }, { “href”:“/ edinburgh / video / news-s2-natal-20090408 /”, “thumbimg”: “http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_18948154001_asset-1239206353135.jpg?pubId=1486976045” “titletext”:“提高认识的道路上的死产慈善机构”, “paratext”:“SANDS Lothian希望突出他们的”, “cname”:“” }, { “href”:“/ edinburgh / video / news-090407-l2-rbs /”, “thumbimg”: “http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_18827378001_asset-1239110600777.jpg?pubId=1486976045” “titletext”:“苏格兰皇家银行将有数千个工作岗位”, “paratext”:“爱丁堡银行削减4,500个职位”, “cname”:“” }, { “href”:“/ edinburgh / video / news-090415-s2-squalor-edinburgh /”, “thumbimg”:“http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_19721015001_asset-1239819553334.jpg?pubId=1486976045”, “titletext”:“1”, “paratext”:“法院已经听到四个小孩住在”, “cname”:“lastlineup” } ] [ { “href”:“/ edinburgh / video / news-090415-s2-squalor-edinburgh /”, “thumbimg”:“http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_19721015001_asset-1239819553334.jpg?pubId=1486976045”, “titletext”:“1”, “paratext”:“法院已经听到四个小孩住在”, “cname”:“” }, { “href”:“/ edinburgh / video / news-090414-s2-waverley-station-edinburgh /”, “thumbimg”:“http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_19537855001_asset-1239732920496.jpg?pubId=1486976045”, “titletext”:“2”, “paratext”:“爱丁堡的Waverley站设置为”, “cname”:“” }, { “href”:“/ edinburgh / video / news-s2-natal-20090408 /”, “thumbimg”: “http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_18948154001_asset-1239206353135.jpg?pubId=1486976045” “titletext”:“提高认识的道路上的死产慈善机构”, “paratext”:“3”, “cname”:“” }, { “href”:“/ edinburgh / video / news-090407-l2-rbs /”, “thumbimg”: “http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_18827378001_asset-1239110600777.jpg?pubId=1486976045” “titletext”:“苏格兰皇家银行将有数千个工作岗位”, “paratext”:“4”, “cname”:“” }, { “href”:“/ edinburgh / video / news-090407-l2-rbs /”, “thumbimg”: “http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_18827378001_asset-1239110600777.jpg?pubId=1486976045” “titletext”:“苏格兰皇家银行将有数千个工作岗位”, “paratext”:“爱丁堡银行削减4,500个职位”, “cname”:“lastlineup” } ] ] } { “项目”:[ [ { “href”:“/ edinburgh / video / news-090415-s2-squalor-edinburgh /”, “thumbimg”:“http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_19721015001_asset-1239819553334.jpg?pubId=1486976045”, “titletext”:“在被忽视的孩子的家中发现的大麻植物”, “paratext”:“法院已经听到四个小孩住在”, “cname”:“” }, { “href”:“/ edinburgh / video / news-090414-s2-waverley-station-edinburgh /”, “thumbimg”:“http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_19537855001_asset-1239732920496.jpg?pubId=1486976045”, “titletext”:“Waverley Station的数百万英镑改造”, “paratext”:“爱丁堡的Waverley站设置为”, “cname”:“” }, { “href”:“/ edinburgh / video / news-s2-natal-20090408 /”, “thumbimg”: “http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_18948154001_asset-1239206353135.jpg?pubId=1486976045” “titletext”:“提高认识的道路上的死产慈善机构”, “paratext”:“SANDS Lothian希望突出他们的”, “cname”:“” }, { “href”:“/ edinburgh / video / news-090407-l2-rbs /”, “thumbimg”: “http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_18827378001_asset-1239110600777.jpg?pubId=1486976045” “titletext”:“苏格兰皇家银行将有数千个工作岗位”, “paratext”:“爱丁堡银行削减4,500个职位”, “cname”:“” }, { “href”:“/ edinburgh / video / news-090415-s2-squalor-edinburgh /”, “thumbimg”:“http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_19721015001_asset-1239819553334.jpg?pubId=1486976045”, “titletext”:“1”, “paratext”:“法院已经听到四个小孩住在”, “cname”:“lastlineup” } ] [ { “href”:“/ edinburgh / video / news-090415-s2-squalor-edinburgh /”, “thumbimg”:“http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_19721015001_asset-1239819553334.jpg?pubId=1486976045”, “titletext”:“1”, “paratext”:“法院已经听到四个小孩住在”, “cname”:“” }, { “href”:“/ edinburgh / video / news-090414-s2-waverley-station-edinburgh /”, “thumbimg”:“http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_19537855001_asset-1239732920496.jpg?pubId=1486976045”, “titletext”:“2”, “paratext”:“爱丁堡的Waverley站设置为”, “cname”:“” }, { “href”:“/ edinburgh / video / news-s2-natal-20090408 /”, “thumbimg”: “http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_18948154001_asset-1239206353135.jpg?pubId=1486976045” “titletext”:“提高认识的道路上的死产慈善机构”, “paratext”:“3”, “cname”:“” }, { “href”:“/ edinburgh / video / news-090407-l2-rbs /”, “thumbimg”: “http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_18827378001_asset-1239110600777.jpg?pubId=1486976045” “titletext”:“苏格兰皇家银行将有数千个工作岗位”, “paratext”:“4”, “cname”:“” }, { “href”:“/ edinburgh / video / news-090407-l2-rbs /”, “thumbimg”: “http://brightcove.vo.llnwd.net/d7/unsecured/media/1486976045/1486976045_18827378001_asset-1239110600777.jpg?pubId=1486976045” “titletext”:“苏格兰皇家银行将有数千个工作岗位”, “paratext”:“爱丁堡银行削减4,500个职位”, “cname”:“lastlineup” } ] ] }
altCognito是正确的。 这是一个工作示例:
把它放在你打电话的页面顶部,在
$.getJSON("http://www.yourotherdomain.com/testcross.php?jsoncallback=?", function(data){ $('body').html(data.name).css("color","green"); });
和将返回东西的PHP:
$data = '{"name" : "hello world"}'; echo $_GET['jsoncallback'] . '(' . $data . ');';
它没有返回回调函数,因此无法进行评估。
你应该在你的PHP代码中有这样的东西:
echo $_GET['callback'] . '(' . $jsonData . ');';
嗯,对不起,如果你使用的是php,那就是这种情况。
你想在你的javascript文件中使用它,并且你需要指定一个硬编码回调,因为它是一个静态列表。
请参阅: http : //www.ibm.com/developerworks/library/wa-aj-jsonp1/