asp.net-mvc – 从ASP.NET MVC操作返回什么来允许jQuery ajax成功事件触发?

现在我的ajax帖子都会触发他们的错误事件,即使该操作没有引起错误。我有一个ASP.NET MVC动作,看起来像:
[AcceptVerbs(HttpVerbs.Post)]
public virtual ActionResult StuffToDo(int id)
{
     // do various things that work ...
     return new JsonResult(); // i have to return something,so this...
}

在客户端我有这个jQuery:

$('#actionClick').click(function() {
     if (confirm('Are you sure?')) {
         $.ajax({
             type: "POST",url: "/Customer/StuffToDo/<%= Model.Customer.Id %>",contentType: "application/json; charset=utf-8",data: "{}",dataType: "json",success: function() {
                 ShowSuccessResult("Yay!");
             },error: function(xhr,ajaxOptions,thrownError) {
                 ShowErrorResult("Boo! Message:" + xhr.responseText);
             }
         });
      }
      return false;
 });

如果操作成功(没有异常抛出),那么我会期望触发成功事件处理程序。相反,错误事件正在触发。有什么我应该回传或改变行动,以便成功事件发生?

我意识到这个问题基本上和this other question一样,但是我的错误处理程序已经有了扩展的签名来解决对方的问题。

编辑
根据请求,这里是我得到的答复:

Link to the screen shot(不知道该怎么显示)

编辑
我将返回值更改为Null,以查看是否影响任何内容,但不会改变任何行为。

编辑
它开始看起来像这是HTTPS的问题。我得到了来自请求的多个响应。前2个是401个消息,然后我得到一个200。

解决方法

我相信问题是你没有在JsonResult中返回任何东西。尝试:
return this.Json(string.Empty);

看看是否有效。我认为问题是你没有返回到jQuery调用,而不是一个空的JSON集:

{}

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....