asp.net-mvc - ASP.NET MVC 应用程序中的 JQuery ajax 解析器错误

标签 asp.net-mvc jquery parse-error

我试图通过 JQuery ajax 方法调用 ASP.NET MVC actionMethod。我的代码如下:

$('.Delete').live('click', function() {
    var tr = $(this).parent().parent();

    $.ajax({
        type: 'DELETE',
        url: '/Routing/Delete/' + tr.attr('id'),
        contentType: 'application/json; charset=utf-8',
        data: '{}',
        dataType: 'json',
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert("Error: " + textStatus + " " + errorThrown);
            alert(XMLHttpRequest.getAllResponseHeaders());
        },
        success: function(result) {
            // Remove TR element containing waypoint details
            alert("Success");
            $(tr).remove();
        }
    });
});

我的操作方法是:

[AcceptVerbs(HttpVerbs.Delete)]
public string Delete(int id)
{
    // Deletion code

    return " ";
}

当我在某处读到如果内容长度为 0 那么它可能会导致问题时,我返回一个空字符串,当返回类型是字符串时,我收到一个警告框,显示“错误:错误未定义”和第二个警告框为空。

如果我将返回类型设为 void,我会收到一条警报,提示“错误:parsererror undefined”,第二个警报如下:

Server: ASP.NET Development Server/9.0.0.0
Date: Wed, 22 Jul 2009 08:27:20 GMT
X-AspNet-Version: 2.0.50727
X-AspNetMvc-Version: 1.0
Cache-Control: private
Content-Length: 0
Connection: Close

最佳答案

您的 jQuery 调用需要 Json 作为请求返回。所以:

[AcceptVerbs(HttpVerbs.Delete)]
public JsonResult Delete(int id) {
    // Deletion code
    return Json("");
}

我也同意redsquare ,最好返回这样的逻辑消息:

[AcceptVerbs(HttpVerbs.Delete)]
public JsonResult Delete(int id) {
    // Deletion code
    return Json(new { Success = true });
}

//then in your jQuery function you can check the result this way :
success: function(result) {
    if (result.Success) {
        alert("it was deleted!");
    }
    else {
        alert("something went wrong");
    }
}

关于asp.net-mvc - ASP.NET MVC 应用程序中的 JQuery ajax 解析器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1163864/

相关文章:

c# - 验证 File.Delete 是否已使用 Moq 调用

javascript - 如何在 Android 3.1 上以编程方式滚动 HTML DIV?

javascript - 如何使用在 getScript 回调函数内生成的 URL 打开一个新窗口,并避免弹出窗口拦截器?

haskell - 为什么以下代码会在下一行代码处导致“解析错误(可能是缩进不正确或括号不匹配)”

c# - 在单元测试期间呈现 View - ControllerContext.DisplayMode

c# - 使用 CSharpCodeProvider 时出现运行时错误程序集 'System.Runtime'

c# - 将模型分配给 Razor 中的 Javascript 变量

jquery 图像 slider 导航选项卡背景图像在 IE 中没有改变

c - 测试功能时出现未知解析错误

parsing - 如何在 Parsec 的一元上下文中返回多个解析失败?