这是AJAX部分
jsonGamesPlayed() {
$.ajax({
url: "jsonGamesPlayed.json",
dataType: "text",
success: function(data) {
var json = $.parseJSON(data);
$('#main_content').append(json.response.games[0].name);
}
});
}
以下是此函数的名称
$("#nav3").click(function() {
$('#main_content').fadeTo("slow", 0.0, function() {
$('#main_content').empty();
$('#main_content').append('<?php include("/HTML/about3.html")?>');
jsonGamesPlayed();
});
$('#main_content').fadeTo("slow", 1.0);
});
当我评论整个功能时,网站运行正常。但是当我尝试使用它时,我的所有JQuery / JavaScript都停止工作。我对JavaScript和Jquery btw相当新,所以我一直在研究这个问题。
如果它意味着什么,这里是.json文件......
{
"response": {
"total_count": 3,
"games": [
{
"appid": 8930,
"name": "Sid Meier's Civilization V",
"playtime_2weeks": 629,
"playtime_forever": 7965,
"img_icon_url": "fbe80c4743e226f0bf65559c91b12953d4446808",
"img_logo_url": "2203f62bd1bdc75c286c13534e50f22e3bd5bb58"
},
{
"appid": 221380,
"name": "Age of Empires II: HD Edition",
"playtime_2weeks": 47,
"playtime_forever": 1144,
"img_icon_url": "109c74df17f9b67ea47d8f01e3d1ec25278b9f73",
"img_logo_url": "37e9da3f1174891fe38f8fb0206acda8b6bfc729"
},
{
"appid": 113200,
"name": "The Binding of Isaac",
"playtime_2weeks": 36,
"playtime_forever": 38,
"img_icon_url": "383cf045ca20625db18f68ef5e95169012118b9e",
"img_logo_url": "d9a7ee7e07dffed1700cb8b3b9482105b88cc5b5"
}
]
}
}
这是我获得AJAX的网站
http://runnable.com/UhY_jE3QH-IlAAAP/how-to-parse-a-json-file-using-jquery
编辑:好的,所以我是javascript的新手,忘了在我的jsonGamesPlayed()函数前添加函数。感谢@Aditya的有用评论。虽然现在一切运行正常,但是从.json文件中调用的数据并没有被附加到div ...是否有些东西我用AJAX做错了?
编辑2:因此,经过一些故障排除后,AJAX永远无法成功完成,
function jsonGamesPlayed() {
$.ajax({
url: "jsonGamesPlayed.json",
dataType: "text",
success: function(data) {
var json = $.parseJSON(data);
$('#main_content').html(json.response.games[0].name);
alert("I am an alert box!");
}
});
}
我在成功功能中放置了一个警报,该警报从不会在通话中弹出。什么可能出错?
答案 0 :(得分:0)
这一行就在这里一个问题:
$('#main_content').append('<?php include("/HTML/about3.html")?>');
你不能不应该在JavaScript函数中'append'
PHP代码。 PHP是一种服务器端语言,它输出HTML以供浏览器解析。 JavaScript是一种客户端语言,一旦页面已经呈现,它就会与那些'HTML'
或DOM
元素进行交互。您要求JavaScript做一些它不知道该怎么做的事情。
话虽如此......你总是load
你的html就像这样:
$('#main_content').load("/HTML/about3.html", function() {
// do something
};
或者你可以用传统方式AJAX:
$.ajax({
url: "/HTML/about3.html",
type: "POST", // or "GET"
}).done(function(the_html) {
$("#main_content").append($(the_html));
});