【问题标题】:how to get returned JSON data in MVC4?如何在 MVC4 中获取返回的 JSON 数据?
【发布时间】:2014-07-01 08:17:02
【问题描述】:

我正在向 ajax 调用返回一个简单的数据。但我试图显示警报中返回的显示undefined。如何获取返回的 JSON 数据?

   return Json(new { message = "success", url = Url.Action("Index", "Image") },
JsonRequestBehavior.AllowGet);

查看

$(document).ready(function() {
                $('#fileupload').fileupload({
                    dataType: 'json',
                    url: '/Admin/Image/UploadFiles',
                    autoUpload: true,
                    done: function (e, data) {
                        alert(data.message); //showing undefined
                        if (data.message== 'success') {
                            alert(data.message);
                            window.location = "www.google.com";
                        }
                    },
                    fail: function(e, data) {
                        console.write(data.errorThrown);
                    }
                })

【问题讨论】:

  • 如果警报返回的整个数据会怎样?它也未定义吗?
  • 我认为网址错误
  • 使用您的调试器(例如 Chrome 工具或其他工具)。进行 ajax 调用,在 Network 窗格中查找响应。响应码是 200 吗?看过响应,有没有返回json数据?
  • 我刚刚做了alert(data),得到了[object] [object]

标签: c# jquery asp.net-mvc json asp.net-mvc-4


【解决方案1】:

您想要 complete 还是 success 属性?我认为您将 xhr 对象的 .done() 与 ajax 设置属性 complete:success: 混淆了。

Done 的第二个参数是状态,而不是数据。

试试这个

 $(document).ready(function() {
            $('#fileupload').fileupload({
                dataType: 'json',
                url: '/Admin/Image/UploadFiles',
                autoUpload: true,
                success: function (data, status, xhr) {
                    alert(data.message); 
                    if (data.message== 'success') {
                        alert(data.message);
                        window.location = "www.google.com";
                    }
                }
            })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 2020-07-18
    • 2020-05-11
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多