我有一个网站,每个用户的页面显示评论,并允许其他用户添加评论。我想拥有它,因此添加评论表单位于页面上,当用户添加评论时,它会添加到数据库中,并使用AJAX注释部分显示。我使用jQuery来处理AJAX和LINQ to SQL来处理数据库逻辑。如何做到这一点,以便在评论添加到数据库后,评论部分刷新和更新而不刷新页面?ASP.NET MVC AJAX与jQuery
19
A
回答
22
您需要利用jQuery ajax调用激发的'success'(或'complete')事件来触发随后的AJAX调用,以刷新评论的内容。这可能会是这个样子(翅它,未经测试):
function UpdateComments(){
resultHTML = jQuery.ajax({
type: 'GET',
url: 'Comments/List/UserID'
}).responseText;
$('#comments').html(resultHTML);
}
function PostComment(targetUserID, commenterUserID, comment)
jQuery.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: $.toJSON({review: comment, id:targetUserID, commenter:commenterUserID}),
dataType: 'json',
url: 'Comments/Add',
success: function(result){
// Only update comments if the post was successful:
resultJson = $.evalJSON(result);
if(resultJson['success'] == true){
UpdateComments();
}
}
});
编辑的JSON代码会利用jQuery插件jQuery的JSON(http://code.google.com/p/jquery-json/)
11
的回应马特,另一路要提交表单数据,而不是JSON,可以在jQuery.ajax函数的'data'字段中调用$('#form')。serialize()。这将消除对插件的需求。
此外,我不是这方面的专家,仍然试图自己学习它,但是当您可以将ASP.NET MVC的响应插入到页面中时,需要同时具有POST和GET请求?这会导致一个请求。尽管这种方法可能有一个合理的理由。我想我的应该是这样的:
// The Controller Action should return a PartialView as response,
// so just a user control that contains the comments.
function PostComment(targetUserID, commenterUserID, comment)
jQuery.ajax({
type: 'POST',
data: $('#commentForm').serialize(),
url: 'Comments/Add',
success: function(result){
$('#comments').html(result);
}
}
});
相关问题
- 1. ASP.NET MVC 2 AJAX与jQuery的
- 2. jquery ajax asp.net mvc
- 3. ASP.NET MVC jQuery Ajax
- 4. ASP.NET AJAX与ASP.NET MVC中的jQuery
- 5. AJAX - ASP.Net MVC或jQuery?
- 6. ASP.NET MVC和jQuery - 问题与AJAX编码
- 7. ASP.NET MVC 2 - 与jQuery Ajax响应失败
- 8. Telerik MVC与ASP.NET MVC与JQuery
- 9. AJAX和jQuery与MVC
- 10. ASP.Net MVC Recaptcha Jquery Ajax问题
- 11. jQuery的AJAX和asp.net mvc的
- 12. ASP.net MVC,jQuery的块UI,Ajax
- 13. 问题与AJAX,JavaScript,ASP.Net MVC
- 14. MVC与ASP.NET使用Ajax 3.5
- 15. 在asp.net mvc jquery AJAX调用mvc
- 16. ASP.NET webforms + ASP.NET Ajax与ASP.NET MVC和Ajax框架自由
- 17. 与使用jQuery AJAX和ASP.NET
- 18. ASP.NET Ajax控件包与JQuery
- 19. 问题AJAX与JQuery和ASP.NET
- 20. 问题与asp.net和jQuery AJAX
- 21. jquery与asp.net mvc对话框
- 22. 与ASP.NET MVC的jQuery Flexigrid
- 23. ASP.NET MVC和jQuery与TempData
- 24. ASP.NET MVC和Ajax
- 25. Asp.net mvc ajax site.master
- 26. ASP.NET MVC和AJAX
- 27. ASP.Net MVC 3 Ajax
- 28. ASP.NET MVC Ajax
- 29. asp.net mvc ajax
- 30. asp.net mvc ajax
的URL应该是:“/评论/添加” ......否则,URL被附加到当前的网址,你将最有可能获得404 – 2010-01-20 15:35:08
事实上,使用其中一个MVC帮助程序来实际生成路径可能会更好,因为如果您的站点在IIS中的另一个网站下作为嵌套应用程序运行,则领导/还会抛出一些东西 – Matt 2010-10-01 14:30:15