在ASP.NET MVC4中使用新版本的Jquery时,不引人注目的ajax不起作用
我已尝试发送一个Ajax Post web请求。当单击submit按钮时,它将重定向到Ajax url。当我将jquery当前版本更改为jquery-1.7.1时,它将正常工作。如何获得与2.1.1相对应的不引人注目的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
@{
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()
无限循环?这是一个长轮询。我的问题是关于版本问题