首页 新闻 搜索 专区 学院

jquery ajax 关于前后台交换数据的问题

0
悬赏园豆:10 [已解决问题] 解决于 2014-07-24 20:56

function selectGPkind(code) {
    var url = "../webservice/ajaxSelectService.asmx/selectGPkind";
    var data = "{'code':'" + code + "'}";
    var json = json = dataForJson(url, data).d;
    $("#selectKind").empty();
    $.each(json, function (index, item)
    {
        $("#selectKind").append($("<option></option").val(item[0]).html(item[1]));
    });

这段代码我知道不全,但是能不能试着给我讲讲,尤其是function里的参数是什么意思。我不太懂jquery  ,这些参数他们从何能判断出来,他们是什么????谢谢了

太笼统的主页 太笼统 | 初学一级 | 园豆:4
提问于:2014-07-24 15:56
< >
分享
最佳答案
0

你不需要知道它是怎么判断出来的,只要知道它能判断出来就行了,index就是数据项的下标从0开始,item就代表数据项。

如果json中是一个数据集的话,这段代码就可以成功遍历这个数据集了。

收获园豆:10
Alex_QY1987 | 小虾三级 |园豆:1888 | 2014-07-24 17:30

我能理解为我从后台取出的数据 ,是一个表格,index代表行,item代表列吗  ?不知道这样准确吗?还有能帮我解释一下dataForJson(url, data).d吗? 这里面的。d我不太理解,我能理解为。d就是后台得出的数据吗???谢谢

太笼统 | 园豆:4 (初学一级) | 2014-07-24 17:35

@太笼统: index代表行的下标,item代表行。item[0]才是代表列的值。这样明白了吧。

Alex_QY1987 | 园豆:1888 (小虾三级) | 2014-07-24 17:38

@Alex_QY1987: 懂了   那么还有能帮我解释一下dataForJson(url, data).d吗? 这里面的。d我不太理解,我能理解为。d就是后台得出的数据吗???谢谢

太笼统 | 园豆:4 (初学一级) | 2014-07-24 17:39

@太笼统: dataForJson(url, data).d,这个你得看下dataForJson这个方法的内部是怎么写的了。目测应该是调用了一个ajax的方法获取服务端返回的数据,然后对数据进行了处理一个对象,.d应该是这个对象的一个属性了,并且这个属性应该是个集合。

Alex_QY1987 | 园豆:1888 (小虾三级) | 2014-07-24 17:43

@Alex_QY1987:  我会提高奖赏的  麻烦再提我看一下吧   我看没有d这么个属性 

 

            var asd = "asd";
            $.ajax({
                type: "POST",
                url: "../webservice/ajaxService.asmx/SessionBack",
                data: "{'asd':'" + asd + "'}",

                contentType: "application/json; charset=utf-8",
                dataType: "json",
                async: false, //如果要在$.ajax外面获取ajax获取到的值,则ajax必须获得同步
                success: function (msg) {
                    json = msg;
                }

            });
            return json;

        }

[WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)]
    public ArrayList GetDB(string operatorRoomNo, string startTm, string endTm, string type, string kind)
    {
        ArrayList objs = new ArrayList();

        
        if (type == "10") // 查询颗粒物
        {
            DataTable r = SqlHelper.GetTable("SELECT ParticlesCnt,CheckTime FROM dbo.View_CheckParticlesForOperationRoom  where OperationRoomNo='" + operatorRoomNo + "' and  CheckTypeCode='" + kind + "' and  CheckTime between '" + startTm + "' and '" + endTm + "'order by CheckTime asc");

            if (r != null)
            {
                foreach (DataRow row in r.Rows)
                {
                    ArrayList ob = new ArrayList();
                    //long lLeft = 621355968000000000;
                    //string tm = row["CheckTime"].ToString().Trim();
                    //DateTime tmm = Convert.ToDateTime(tm);
                    //long tmms = (tmm.Ticks - lLeft) / 10000;
                    string rows = row["ParticlesCnt"].ToString().Trim();
                    double wq = Convert.ToDouble(rows);
                    ob.Add(GetIntFromTime(Convert.ToDateTime(row["CheckTime"])));//检测时间
                    //  objs.Add(row["Concentration"].ToString().Trim());
                    ob.Add(wq);//检测时的颗粒浓度
                    objs.Add(ob);
                }
            }
        }

 

 

太笼统 | 园豆:4 (初学一级) | 2014-07-24 17:57

@太笼统: webservice/ajaxService.asmx/SessionBack  应该是找 SessionBack吧?上面的URL是selectGPkind ? 到底是调用的哪个呀?

json=msg;这里赋值了,就得看返回的这个msg有没有.d的属性呢。

Alex_QY1987 | 园豆:1888 (小虾三级) | 2014-07-24 18:01

@Alex_QY1987: scorry   刚才慌张了  发错了

function dataForJson(url, dataJson) {
    var json;
    $.ajax({
        type: "POST",
        url: url,
        data: dataJson,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false, //如果要在$.ajax外面获取ajax获取到的值,则ajax必须获得同步
        success: function (msg) {
            json = msg;
        }
    });
    return json;
}

太笼统 | 园豆:4 (初学一级) | 2014-07-24 18:11

@太笼统: webservice/ajaxSelectService.asmx/selectGPkind 你看查看到这个webservice代码吗?看selectGPkind返回的是什么,是不是有.d的属性

Alex_QY1987 | 园豆:1888 (小虾三级) | 2014-07-25 09:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册