【问题标题】:Receive JSON data from MVC Controller via XMLHTTPRequest通过 XMLHTTPRequest 从 MVC 控制器接收 JSON 数据
【发布时间】:2015-11-15 04:46:57
【问题描述】:

我想从 MVC 控制器获取 JSON 数据。

注意:我通过XMLHTTPRequest.Send(data) 呼叫控制器。

控制器正在返回 JSON 数据,但如果我们使用 XMLHTTPRequest,我不知道如何获取该数据。

由于某些原因,我没有使用 Ajax 调用。但是有可能通过 XMLHttpRequest 或响应来获得它吗?如果是这样,请帮助我..

控制器示例如下。从中,我想获取 FileName 和 FilePath。

    public JsonResult SaveAttachments()
    {
        try
        {

            .......
                }
            }
            return new Program1.WebClient.App_Start.BaseController.WrappedJsonResult
            {
                Data = new
                {
                    isSuccess = true,
                    CusEvent = "close",
                    CusMsg = "Attachment file upload successful",
                    FileName = fileName,
                    FilePath = filePath
                }
            };
        }
        catch (Exception ex)
        {
            throw new Exception("File upload failed. ");
        }

    }

【问题讨论】:

标签: javascript jquery json asp.net-mvc xmlhttprequest


【解决方案1】:

您可以尝试使用XMLHttpRequest.responseText 并对其进行操作。

【讨论】:

  • 其实我之前没有用过这个XMLHttpRequest。我想知道responseText是否会得到MVC Controller返回的Json?
  • @Vikash 您可能需要使用JSON.parse 方法手动解析字符串
  • xhr.onreadystatechange = function () { if (xhr.readyState == 4 && xhr.status == 200) { var myArr = JSON.parse(xhr.responseText);我像上面那样尝试过..它在控制台中抛出一个错误,说 Uncaught InvalidStateError: Failed to read the 'responseText' property from 'XMLHttpRequest': 只有当对象的'responseType'是''或'时,该值才可访问文本'(是'json')。
  • 在调用XMLHTTPRequest.Send(data)之前,尝试设置responseType prop的type是json这样:XMLHTTPRequest.responseType = "json",接收到数据后,再使用JSON解析。告诉我它是否有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 2019-07-21
  • 1970-01-01
相关资源
最近更新 更多