在ASP.NET MVC4中使用新版本的Jquery时,不引人注目的ajax不起作用

在ASP.NET MVC4中使用新版本的Jquery时,不引人注目的ajax不起作用,jquery,ajax,asp.net-mvc-4,ajax.beginform,Jquery,Ajax,Asp.net Mvc 4,Ajax.beginform,我已尝试发送一个Ajax Post web请求。当单击submit按钮时,它将重定向到Ajax url。当我将jquery当前版本更改为jquery-1.7.1时,它将正常工作。如何获得与2.1.1相对应的不引人注目的ajax脚本的正确版本 下面是我的完整代码 查看代码 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="wi

我已尝试发送一个Ajax Post web请求。当单击submit按钮时,它将重定向到Ajax url。当我将jquery当前版本更改为jquery-1.7.1时,它将正常工作。如何获得与2.1.1相对应的不引人注目的ajax脚本的正确版本 下面是我的完整代码

查看代码

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <script src="~/Scripts/jquery-2.1.1.js"></script>
     <script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
     <script type="text/javascript">
        function getNextMessage() {
            $.post("@Url.Action("GetNextMessage")", function (message) {
                $("<li>").text(message).appendTo("#messages");
                getNextMessage();
            });
        }

        getNextMessage();
    </script>
</head>
    <body>
        <h2>
            Chat
        </h2>
        <ul id="messages"></ul>
        @using (Ajax.BeginForm("PostMessage", new AjaxOptions()))
        {
            <p>
                Say : @Html.TextBox("message")
                <input type="submit"/>
            </p>
        }
    </body>


</html>
 public class ChatController : Controller
    {
        static  TaskCompletionSource<string > _nextMessage=new TaskCompletionSource<string>(); 

        public ActionResult Index()
        {
            return View();
        }
        public async  Task<string>  GetNextMessage()
        {
            //await Task.Delay(2000);
            //return "Hello at : " + DateTime.Now.ToLongTimeString();
            return await _nextMessage.Task;
        }

        public void PostMessage(string message )
        {
           _nextMessage.SetResult(message);
            _nextMessage = new TaskCompletionSource<string>();
        }
    }
@{
布局=空;
}
函数getNextMessage(){
$.post(@Url.Action(“GetNextMessage”)”,函数(消息){
$(“
  • ”)。文本(消息)。附加到(“#消息”); getNextMessage(); }); } getNextMessage(); 聊天
      @使用(Ajax.BeginForm(“PostMessage”,新的AjaxOptions())) { 说:@Html.TextBox(“消息”)

      }
    • 控制器代码

      @{
          Layout = null;
      }
      
      <!DOCTYPE html>
      
      <html>
      <head>
          <meta name="viewport" content="width=device-width" />
          <script src="~/Scripts/jquery-2.1.1.js"></script>
           <script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
           <script type="text/javascript">
              function getNextMessage() {
                  $.post("@Url.Action("GetNextMessage")", function (message) {
                      $("<li>").text(message).appendTo("#messages");
                      getNextMessage();
                  });
              }
      
              getNextMessage();
          </script>
      </head>
          <body>
              <h2>
                  Chat
              </h2>
              <ul id="messages"></ul>
              @using (Ajax.BeginForm("PostMessage", new AjaxOptions()))
              {
                  <p>
                      Say : @Html.TextBox("message")
                      <input type="submit"/>
                  </p>
              }
          </body>
      
      
      </html>
      
       public class ChatController : Controller
          {
              static  TaskCompletionSource<string > _nextMessage=new TaskCompletionSource<string>(); 
      
              public ActionResult Index()
              {
                  return View();
              }
              public async  Task<string>  GetNextMessage()
              {
                  //await Task.Delay(2000);
                  //return "Hello at : " + DateTime.Now.ToLongTimeString();
                  return await _nextMessage.Task;
              }
      
              public void PostMessage(string message )
              {
                 _nextMessage.SetResult(message);
                  _nextMessage = new TaskCompletionSource<string>();
              }
          }
      
      公共类ChatController:控制器
      {
      静态TaskCompletionSource_nextMessage=新TaskCompletionSource();
      公共行动结果索引()
      {
      返回视图();
      }
      公共异步任务GetNextMessage()
      {
      //等待任务。延迟(2000);
      //返回“Hello at:”+DateTime.Now.ToLongTimeString();
      return wait_nextMessage.Task;
      }
      公共void PostMessage(字符串消息)
      {
      _nextMessage.SetResult(消息);
      _nextMessage=new TaskCompletionSource();
      }
      }
      
      您的
      JsonResult
      在哪里?为什么
      getNextMessage()
      无限循环?这是一个长轮询。我的问题是关于版本问题