[英]JQuery stops working when I use AJAX in my script. What am I doing wrong?
这是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!");
}
});
}
我在成功功能中放置了一个警报,该警报从不弹出。 可能出什么问题了?
这行在这里是一个问题:
$('#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));
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.