繁体   English   中英

当我在脚本中使用AJAX时,JQuery停止工作。 我究竟做错了什么?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM