在我的控制器中,我正在创建一个选择列表。

    public string Ajax_GetUnusedDCList(Guid storeId)
    {
        DataRepository.Store thisStore = repo.Where(x => x.id == storeId).SingleOrDefault();
        SelectList list = thisStore.GetStoreUnusedDCList("Store");

        JavaScriptSerializer serializer = new JavaScriptSerializer();
        return serializer.Serialize(list);
    }

然后,在我的jQuery中,我尝试逐步检查每个项目并在此时提醒值。

$.ajax({
  url: "/Stores/Ajax_GetUnusedDCList",
  type: 'POST',
  data: { storeId: '041F0D0E-5AD3-4817-9604-3FD81F08BA9B' },
  success: function (data) {
    $(data).each(function (index, val) {
      alert(val.Text);
    });
  }
});

但是我得到类似的错误;

Microsoft JScript运行时错误:语法错误,无法识别的表达式:[{“ Selected”:false,“ Text”:“ 9321”,“ Value”:null}]

Microsoft JScript运行时错误:“ length”为null或不是对象

Microsoft JScript运行时错误:“未定义”为null或不是对象

Microsoft JScript运行时错误:“ matches”为null或不是对象

我要做的就是返回一个SelectList并填充一个下拉列表。

===============>>#1 票数:1

我认为您可以在不序列化的情况下发送SelectList,以便您可以使用ur函数本身在客户端进行访问。

return Json(listObj,JsonRequestBehaviour.AllowGet);

===============>>#2 票数:0

您已将数据作为字符串获取,因此首先需要将数据转换为json对象。

尝试下面的代码在客户端将字符串转换为json。

success: function (data) {
    var json = (typeof data) == 'string' ? eval('(' + data+ ')') : data;
    $(json).each(function (index, val) {
         alert(val.Text);
    });   }

这将有助于解决您的问题。

  ask by griegs translate from so

未解决问题?本站智能推荐: