+ -
当前位置:首页 → 问答吧 → 请问JQuery ajax 怎样返回数组?

请问JQuery ajax 怎样返回数组?

时间:2009-08-11

来源:互联网

我想做一个关于DropdowlList的二级联动,但不知道怎样返回数组类型绑定到DropdowlList,下面是我写的代码:

$(document).ready(function() {
            $("#<%=ttt.ClientID %>").change(function() {
                $.ajax({
                    type: "POST",
                    url: "CreateAdmissionSelectionScenario.aspx",
                    data: "SelectValue=ABC",
                    success: function(msg) {

                            //这边是绑定从后台返回的数据。
            var dpl2 = document.getElementById("<%=test2.ClientID %>");
                        $.each(msg, function(value, text) {
                    $(dpl2).append($('<option></option').val(val).html(text));
                });
                    }
                });

但我发现返回来的数据格式要这种样子才能绑定到DropdowlList 上:var returnValue= { "Value 1": "Text 1", "Value 2": "Text 2", "Value 3": "Text 3" };

                请问我怎样从后台返回像returnValue这种类型的数据?

作者: yorytang   发布时间: 2009-08-11

你返回的是map,不是数组

直接输出字符串,header设为json就行了

作者: keakon   发布时间: 2009-08-12

请问怎样转换成JSON类型啊?
你是指我返回 "Value 1": "Text 1", "Value 2": "Text 2", "Value 3": "Text 3"  这种格式的字符串吗?

作者: yorytang   发布时间: 2009-08-12

{ "Value 1": "Text 1", "Value 2": "Text 2", "Value 3": "Text 3" }

这个就是json,注意大括号

作者: keakon   发布时间: 2009-08-12

还是不行啊,我后台用返回了一个字符串,格式为{ "Value 1": "Text 1", "Value 2": "Text 2", "Value 3": "Text 3" }
然后怎样在前台转换成数组格式啊?

作者: yorytang   发布时间: 2009-08-18

$.each()是可以操作对象的,所以你返回的数据是:{ "Value 1": "Text 1", "Value 2": "Text 2", "Value 3": "Text 3" }
是没问题的,不过发送请求时要设置期望的返回的数据格式,$.ajax()的参数要加上dataType: "json"

作者: johnson334   发布时间: 2009-08-29