在我点击新集合列表项目的那一刻,我在JSON中保存的所有汽车都会出现在网页上。
HTML代码
<a href="javascript:void(0)" class="dropbtn" onclick="myFunction()">NEWST</a>
<div class="dropdown-content" id="myDropdown">
<ul>
<li> <a href="#">New collection</a></li>
<li><a href="#">Gifts and sales</a></li>
<li><a href="#">Service centers</a></li>
</ul>
</div>
</li>
</ul>
<!--<button onclick="addimage();"> Click</button>-->
</div>
我想让它变得动态但是对于它我需要一个API,我可以通过提供它的URL来获取信息。但是现在我只是用JSON保存数据并通过AJAX调用它。
AJAX代码:
var clickedLi = $(this);
$.ajax({
type: "GET",
url: "http://localhost:8000/scripts/car.json",
dataType: "json",
async: false,
success: function(result) {
BuildNewList(result,clickedLi);
},
error: function(err) {
}
});
function BuildNewList(jsonData,liTag){
liTag.empty();
var data = JSON.parse(jsonData);
liTag.append('New Collection<ul></ul>');
{
for (var make in data.cars) {
for (var i = 0; i < data.cars[make].length; i++) {
var model = data.cars[make][i].model;
liTag.find('ul').append('<li>' + make + ' - ' + model + '</li>')
}
}
}
JSON:
var anotherData = '{"cars":
{"Honda":[
{"model":"Figo"},
{"model":"City"}
],
"Audi":[
{"model":"A6"},
{"model":"A8"}
]
}
}';
但它没有得到填充而没有在屏幕上显示。
为什么不给我任何输出?是否ajax中的 Success:部分是错误的还是JSON对象正在运行?我收到了这个错误:
我错在哪里,我该如何解决?还有一件事是我很困惑我在AJAX中提供的json文件URL是否正确?
任何帮助都将不胜感激。
答案 0 :(得分:0)
你的jQuery没有加载。它正在获得file
协议,这不应该是这种情况。
将你的jquery包含为:
<script src="https://code.jquery.com/jquery-2.2.3.min.js"
另外,请确保它在localserver上运行,因为您正在使用AJAX。