我正在尝试使用jQuery加载一些JSON,并且根据我正在使用的jQuery版本而得到混合结果。
第一页(http://iaviglobal.com/json-3.html)使用jQuery 1.8.3,它运行得很好!该页面上的所有内容都是从我服务器上的.json文件中提取的。
然而,我的第二页(http://iaviglobal.com/json-4.html)使用jQuery 1.10.2和jQuery Migrate 1.2.1。我的JSON调用在这里不起作用!这是我的代码:
$.getJSON('/json/products.json', function(data) {
alert ("json loaded");
var output="";
for (var i in data.products) {
output+="<div class='product-line-item wrapper'><div class='product-image'><img src='/img/" + data.products[i].fileName + ".png alt='' width='150' height='100'></div><div class='product-model'>" + data.products[i].modelNumber + "</div><div class='product-specs'><ul><li>" + data.products[i].brightness + " Lumens</li><li>" + data.products[i].resolution + " Resolution</li><li>" + data.products[i].contrast + " Contrast Ratio</li></ul></div><a class='get-a-quote trigger-quote-modal'>Get a Quote</a><a class='download-pdf' href='/download/" + data.products[i].fileName + ".pdf'>Download PDF</a></div>";
}
output+="";
document.getElementById("product-line-container").innerHTML=output;
});
任何人都可以向我解释一下有什么变化吗?我认为自1.8.3以来某些东西已被弃用但我无法弄清楚是什么。
我在这里创建了第三页:http://iavi.com/glored/json-5.html。此页面被删除,只包含一个脚本,通知我jQuery是否成功加载,然后从http://api.jquery.com/jquery.getjson/逐字结合jQuery代码结合jQuery 1.10.2和jQuery Migrate 1.2.1。
$.getJSON( "ajax/test.json", function( data ) {
var items = [];
$.each( data, function( key, val ) {
items.push( "<li id='" + key + "'>" + val + "</li>" );
});
$( "<ul/>", {
"class": "my-new-list",
html: items.join( "" )
}).appendTo( "body" );
});
仍然无效!
控制台唯一说的是“Uncaught TypeError:无法调用未定义的方法'getJSON'”
答案 0 :(得分:1)
似乎它可能是语法错误,尝试在无冲突模式下使用jQuery:
jQuery(document).ready(function ( $ )