jquery - 尝试解析 xhr.responseText

标签 jquery ajax regex xmlhttprequest

我正在使用 jquery get 来调用 ASP MVC Controller 。它返回部分 View 。即一堆 html

如果出现错误,我想为用户填充一些信息,但 ASP MVC 正在发送回整个页面,因此我需要从中获取文本。

我已经尝试过:

$('#edit').ajaxError(function (e, xhr, settings, exception) {
        var item = xhr.responseText.text();
        var response = item.match(/.*<body.*>(.*)<\/body>.*/);
        if (!response) {
            $(this).html('Error: ' + xhr.status + ' Message:' + xhr.statusText);
        }
        else {
            $(this).html(response);
        };
    });

但是我得到 Uncaught TypeError: [followed by thecontents of xhr.responseText] has no method text

如果我直接在responseText上调用match,我会得到null结果。

我猜我有一些根本性的误解,所以如果有人可以提供帮助......

最佳答案

您还应该修改正则表达式以包含换行符,即

var response = xhr.responseText.match(/.*<body.*>([\s\S]*)<\/body>.*/);

关于jquery - 尝试解析 xhr.responseText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6946184/

相关文章:

jquery - 卡住表格的前两行

javascript - 使用 javascript 将对象绑定(bind)到模板

javascript - 页面顶部和底部的 Bootstrap 3 导航选项卡?

javascript - jQuery Ajax 使用 IE 请求本地磁盘耗时太长

javascript - 在 Javascript 中用正则表达式替换竖线和逗号

javascript - 想要 1 美元的舞会正则表达式和 prag match

javascript - <select> 下拉菜单以 JavaScript 打开的目标文件

jquery - 我可以在同一个文件中包含 jQuery 和 AJAX 吗?这会冲突吗?

javascript - 将数组连接到 Google Chart

java - 什么是文件 ://protocol url encodings for these special characters(; $ % ^ #)