如何将变量的值添加到我的HTML?

时间:2014-02-27 18:17:02

标签: javascript jquery html

我有两个单独的实例,我在页面的标题中显示来自JavaScript的数据:

HTML:

<h2 id='Fetch_Header' style="color:white; font-family: arial;">
    The last time you fetched your games was:<span class="last_fetch" style="font-weight: bold;"></span>
</h2>

jQuery的:

$.get('php/FetchGames/LastFetch.php', function (data) {
    if (data == "Never") {
        var lastdate = data;
        $('.last_fetch').html(" " + lastdate);
    }

更多jQuery:

$.get('php/FetchGames/GetMatchCount.php', function (data) {
    MatchCountJson = data;
    MatchCountJson_Parsed = JSON.parse(MatchCountJson);
    MatchCount = MatchCountJson_Parsed.Int;
    //the above JSON is {"Int":72}
});

$('#Fetch_Header').html('Time to apply your MMR, follow the instructions below. Matches left to apply: ' + MatchCount);

然而只有前者工作(最后一个)。

第一次输出:

  

日期(按预期)

第二次输出:

  

"Time to apply your MMR, follow the instructions below. Matches left to apply: undefined"

两个变量都不是null/undefined,因为如果我使用Console.log,则lastdate是日期,Matchcount是整数(例如32) )。

3 个答案:

答案 0 :(得分:6)

Matchcount在您尝试使用它时不在您的代码范围内。

.get()是一个异步调用,这意味着在执行下一条指令时不能保证完整。如果您想使用基于data的任何内容,则需要在get()调用的回调函数范围内进行。

$.get('php/FetchGames/GetMatchCount.php', function(data){
    MatchCountJson = data;
    MatchCountJson_Parsed = JSON.parse(MatchCountJson);
    MatchCount = MatchCountJson_Parsed.Int;

    // Call must be inside of "get()" callback
    $('#Fetch_Header').html('Time to apply your MMR, follow the instructions below. Matches left to apply: '+MatchCount);
});

答案 1 :(得分:1)

您只能在get方法的结果中使用MatchCount变量。 试试这个

$.get('php/FetchGames/GetMatchCount.php', function(data){
    MatchCountJson = data;
    MatchCountJson_Parsed = JSON.parse(MatchCountJson);
    MatchCount = MatchCountJson_Parsed.Int;
    //the above JSON is {"Int":72}

    $('#Fetch_Header').html('Time to apply your MMR, follow the instructions below. Matches left to apply: '+MatchCount);
});

答案 2 :(得分:0)

问题是从服务器传回的数据范围,因此您的第二个html插入无法访问MatchCount。将您的代码更改为:

 $.get('php/FetchGames/GetMatchCount.php', function(data){
    MatchCountJson = data;
    MatchCountJson_Parsed = JSON.parse(MatchCountJson);
    MatchCount = MatchCountJson_Parsed.Int;
    //the above JSON is {"Int":72}
    $('#Fetch_Header').html('Time to apply your MMR, follow the instructions below.        Matches left to apply: '+MatchCount);
});