如何使用JQuery检查AJAX调用的ResultSet是否有价值 - javascript

我正在使用iQuery对服务器进行AJAX调用并返回一组值。返回的值是动态的。结果计数是动态的,我无法查看结果集并将值分配给HTML元素以显示在Web页面中。

请就结果集中是否存在值并在系统中使用该值提供建议。结果集中的最大计数为16,并且在脚本中已手动分配了值。

在准备好我的网页的文档中调用AJAX方法。

$(document).ready(function () {
    CallAJAX('../Forms/Send.aspx/refreshDash', '', 'FillMethod', 'FillMethodE');
});

AJAX通话定义

function CallAJAX(ServerMethod, Parameters, SuccessMethod, ErrorMethod) {
    $.ajax({
        type: "POST",
        url: ServerMethod,
        data: Parameters,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        error: function (xhr, status, errorThrown) {
            Error = xhr; Result.d.ResultSet[0].TRCOUNT
            eval(ErrorMethod + "()");
        },
        success: function (msg) {
            Result = msg;
            var rr = SuccessMethod + "();";
            eval(rr);
        }
    });
}

使用两个jQuery函数显示详细信息并在引发错误时提示Message。注意错误功能未显示。

function FillMethod() {
    if ($.isEmptyObject(Result.d.ResultSet)) {

    }
    else {

        $('[id$=lblCode1]').html(Result.d.ResultSet[0].DASH_NAME);
        $('[id$=lblNot1]').html(Result.d.ResultSet[0].TRCOUNT);

        $('[id$=lblCode2]').html(Result.d.ResultSet[1].DASH_NAME);
        $('[id$=lblNot2]').html(Result.d.ResultSet[1].TRCOUNT);


        $('[id$=lblCode3]').html(Result.d.ResultSet[2].DASH_NAME);
        $('[id$=lblNot3]').html(Result.d.ResultSet[2].TRCOUNT);

        $('[id$=lblCode4]').html(Result.d.ResultSet[3].DASH_NAME);
        $('[id$=lblNot4]').html(Result.d.ResultSet[3].TRCOUNT);

        $('[id$=lblCode5]').html(Result.d.ResultSet[4].DASH_NAME);
        $('[id$=lblNot5]').html(Result.d.ResultSet[4].TRCOUNT);

        $('[id$=lblCode6]').html(Result.d.ResultSet[5].DASH_NAME);
        $('[id$=lblNot6]').html(Result.d.ResultSet[5].TRCOUNT);


        $('[id$=lblCode7]').html(Result.d.ResultSet[6].DASH_NAME);
        $('[id$=lblNot7]').html(Result.d.ResultSet[6].TRCOUNT);

        $('[id$=lblCode8]').html(Result.d.ResultSet[7].DASH_NAME);
        $('[id$=lblNot8]').html(Result.d.ResultSet[7].TRCOUNT);


        $('[id$=lblCode9]').html(Result.d.ResultSet[8].DASH_NAME);
        $('[id$=lblNot9]').html(Result.d.ResultSet[8].TRCOUNT);

        $('[id$=lblCode10]').html(Result.d.ResultSet[9].DASH_NAME);
        $('[id$=lblNot10]').html(Result.d.ResultSet[9].TRCOUNT);


        $('[id$=lblCode11]').html(Result.d.ResultSet[10].DASH_NAME);
        $('[id$=lblNot11]').html(Result.d.ResultSet[10].TRCOUNT);

        $('[id$=lblCode12]').html(Result.d.ResultSet[11].DASH_NAME);
        $('[id$=lblNot12]').html(Result.d.ResultSet[11].TRCOUNT);

        $('[id$=lblCode13]').html(Result.d.ResultSet[12].DASH_NAME);
        $('[id$=lblNot13]').html(Result.d.ResultSet[12].TRCOUNT);

        $('[id$=lblCode14]').html(Result.d.ResultSet[13].DASH_NAME);
        $('[id$=lblNot14]').html(Result.d.ResultSet[13].TRCOUNT);


        $('[id$=lblCode15]').html(Result.d.ResultSet[14].DASH_NAME);
        $('[id$=lblNot15]').html(Result.d.ResultSet[14].TRCOUNT);

        $('[id$=lblCode16]').html(Result.d.ResultSet[15].DASH_NAME);
        $('[id$=lblNot16]').html(Result.d.ResultSet[15].TRCOUNT);
    }
};
function FillMethodE() {


}

仅Result.d.ResultSet [0] .DASH_NAME具有有效值且以下索引没有任何值时,FillMethod函数中出现问题。
注意:结果将成对返回,如果DASH_NAME可用,则TRCOUNT也可用于同一索引。

我要做的就是不考虑我需要按动态显示结果集中的顺序值在标签中显示的结果计数。这是可以获得的两组结果集。

参考方案

恐怕仍然真的非常不清楚具体的问题是什么(您发布的样本结果集也无法清楚说明为什么不能简单地遍历它们),但是我愿意猜测一下...

您是否正在尝试将动态结果集写入静态占位符以输出的问题?

如果是这种情况,请不要将占位符设为静态。只需在要显示结果的地方保留一个空白,然后在获得结果后将其写入页面的该部分。您不需要就位的HTML元素,可以动态创建它们。例如:

success: function (msg) {
    // let's assume msg is an array of data
    for(var i = 0; i < msg.lengh; i++) {
        $('#output').append(
            '<div>' + msg[i].DASH_NAME + ' - ' + msg[i].DASHSTATUS + '</div>'
        );
    }
}

因此,如果您的#output只是一个div,结果将如下所示:

<div id="output">
    <div>SEND CONFIRMED - 1</div>
    <div>RECV HO RESPONDED - 4</div>
    <div>RECV HO PAID - 3</div>
    <!-- etc... -->
</div>

当然,如何定义和设置标记样式完全取决于您。关键是您可以通过JavaScript代码即时创建标记,因此可以根据AJAX请求的结果动态创建标记。

如何使用Javascript将字典列表解析为JSON格式? - javascript

我正在尝试解析JSON格式的词典列表,以便可以使用它们的数据创建一组列表项,其中使用此数据生成文本和ID。我将以下内容传递到我的网页,并在投放之前将其存储在隐藏的div中: [{'text': 'org1', 'id': 'org1ID'}, {'text':…

Javascript IF语句 - javascript

                        嗨,我有这段代码可以正常工作,并将两个日历显示为一个日历。我还有一个php变量$login_session,其中包含登录电子邮件地址的用户。关于如何显示[email protected]日历的任何想法(伪代码)IF $login_session == "[email protected]&#…

如何在没有for循环的情况下在Javascript中使用Django模板标签 - javascript

我想在JavaScript中使用模板变量:我的问题是在javascript代码中使用for循环,for循环之间的所有事情都会重复..但我不想要....下面粘贴了我的代码..有人可以告诉我更好的方法吗这..因为这看起来很丑..这是我的代码: {% block extra_javascript %} <script src="/static/js…

JSON.parse需要转义哪些字符 - javascript

                        我注意到您无法在JSON中保存1B(转义)以保存JSON.parse函数,您将得到SyntaxError: Unexpected token(在Google chrome中),需要将其写为unicde \u001b。我在Python中编写了json_serialize函数,我还需要转义字符串中的其他哪些字符?这…

将字符串值添加到php / javascript - javascript

您好,我有一些代码需要在其中插入一些字符串值,但是每次我输入字母时,脚本都无法正常工作。<script type="text/javascript"> "use strict"; var values = [1,2,3,4,5,6,7,8,9]; /*add string values here*/ var…