【问题标题】:Return List to ajax mvc3返回列表到ajax mvc3
【发布时间】:2013-12-20 16:47:48
【问题描述】:

我正在开发 MVC3,下面是我的控制器

  public List<int> ddlTransType_Change(int DocID)
        {

            return UserDocumentServive.getSelectedUsers(DocID);

        }

我的 Ajax

  $.ajax({
                type: 'GET',
                url: "/MIS.MVC/" + "DocumentApproval/ddlTransType_Change",
                data: {
                    'DocID': $("#ddlTransType").val().trim()
                },
                success: function (result) {
                    alert(result.value)
},
error: function (e) {
                    alert("Error:Unable to load data from server");
                }
            });

Controller 返回一个 int 值列表,即{1,74,23,1},我想在警报中显示它们。 知道怎么做吗?

【问题讨论】:

  • 你在浏览器中调试过结果包含什么
  • ApiController 还是普通的Controller
  • 结果包含一个字符串 System.generic..... bla bla
  • 我很困惑。似乎结果是整数列表,而不是字符串。我错过了什么?

标签: jquery asp.net ajax asp.net-mvc asp.net-mvc-3


【解决方案1】:

如果您使用的是 MVC3,最好将 json 数据返回给您的 ajax 成功调用

public ActionResult ddlTransType_Change(int DocID)
    {

         List<int> list = UserDocumentServive.getSelectedUsers(DocID);;
        return Json(new
        {
            list = list
        },JsonRequestBehavior.AllowGet);

    }

然后你的 ajax 调用变为

 $.ajax({
                type: 'GET',
                url: "/MIS.MVC/" + "DocumentApproval/ddlTransType_Change",
                data: {'DocID': $("#ddlTransType").val().trim()},
                dataType: 'json',
                success: function (result) {
                                           var list=result.list;
              $.each( list, function( index, value )
                                         {
                                            alert(value);
                                           });
                                             },
error: function (e) {
                    alert("Error:Unable to load data from server");
                }
        });

【讨论】:

  • 但它只有 15.42 哈哈哈 ;)
  • @Nitinvarpe 我添加了上面的代码,但它显示来自错误函数“错误:无法从服务器加载数据”的警报。我不知道问题出在哪里
  • [InvalidOperationException]:此请求已被阻止,因为在 GET 请求中使用敏感信息可能会泄露给第三方网站。要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet。
  • 检查更新添加 JsonRequestBehavior.AllowGet 以返回 json
猜你喜欢
  • 1970-01-01
  • 2012-06-07
  • 2012-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多