asp.net中我用JQuery的AJAX调用后台代码返回的数据如何赋值DropDownList

$("#RadioButtonList1").change(function () {
$.ajax({
//要用post方式
type: "POST",
//方法所在页面和方法名
url: "mz03dTypeWeb.aspx/selectType",
data: "{'parm':'A1'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
//返回的数据用data.d获取内容
var items = "";
$.each(data, function (i, data) {
items += "<option value=\"" + data.m3sfno + "\">" + data.m3sfnm + "</option>";
alert(data);
});
$("#DropDownList1").html(items);
我已经在调用了后台的代码,我在网页中打印了data如下,
,为什么前面有个0,又为什么我用data点我要的数据都显示的是

你返回的json数据格式不正确哦,如果返回数组格式应该是这样才对

{arr:[{....},{....},{.....}]},在ajax的success: function (data)方法中应这样调用如下:

 $.each(data.arr, function (i, data) {
    items += "<option value=\"" + data.m3sfno + "\">" + data.m3sfnm + "</option>";
    alert(data);
    });追问

加了data.arr之后网页报错,

我后台的代码返回的是一个object数组

 string js = JsonConvert.SerializeObject(ds.Tables[0], Formatting.Indented);

 return new object[] { js };

温馨提示:答案为网友推荐,仅供参考