·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> asp.net MVC3 + JQuery 的ajax简单使用

asp.net MVC3 + JQuery 的ajax简单使用

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

asp.net MVC3 + JQuery 的Ajax简单使用

一直都没有使用过JQuery,更没使用过JQuery的ajax支持带来的方便,今天试了一下,真是减少了很多工作量,使用方法也比较简单这里先记下来,以后使用时可以再拿着用。本应用中,本来是准备使用长链接的方式,在server端有错误消息产生时,能实时返回错误消息。可在使用长链接时,因为.net功底不够,以失败告终!所以采用了javascript中间隔查询的方法。页面代码如下:

Java代码收藏代码
  1. @{
  2. ViewBag.Title="ErrorMonitor";
  3. }
  4. <scriptsrc="@Url.Content("~/Scripts/jquery-1.4.4.min.js")"type="text/Javascript"></script>
  5. <scripttype="text/javascript"language="javascript">
  6. $(function(){
  7. setInterval(ajaxRequest,1000);
  8. });
  9. functionajaxRequest(){
  10. $.ajax(
  11. {
  12. url:'/TopDemo/Home/ErrorRefresh',//指定调用的URL,对应于Controller
  13. data:'{}',//如果请求有参数,需要在这里指定
  14. type:"POST",//请求类型
  15. contentType:"application/json;charset=utf-8",
  16. dataType:"json",
  17. success:function(data){//请求成功后的回调
  18. if(data==null||data.length==0){
  19. returnfalse;
  20. }else{
  21. writeMsg(data);
  22. }
  23. },
  24. error:function(data){//请求失败后的回调
  25. alert(data.statusText);
  26. }
  27. }
  28. );
  29. }
  30. functionwriteMsg(data){
  31. varerrorDiv=document.getElementById("errorDiv");
  32. for(vari=0;i<data.length;i++){
  33. varerrorText=document.createTextNode(data[i].errMsg);
  34. varerrorTextDiv=document.createElement("div");
  35. errorTextDiv.appendChild(errorText);
  36. if(errorDiv.hasChildNodes){
  37. errorDiv.insertBefore(errorTextDiv,errorDiv.firstChild);
  38. }else{
  39. errorDiv.appendChild(errorTextDiv);
  40. }
  41. }
  42. }
  43. </script>
  44. <h2>
  45. 错误监控</h2>
  46. <divid="errorDiv">
  47. </div>

Controller的代码也很简单,就是简单的把错误消息列表以json格式返回给View,如下:

Java代码收藏代码
    1. [HttpPost]
    2. publicJsonResultErrorRefresh()
    3. {
    4. interrMsgSize=errMsgService.Size();
    5. List<object>errors=newList<object>();
    6. if(errMsgSize>0)
    7. {
    8. for(vari=0;i<errMsgSize;i++)
    9. {
    10. ErrorMessageModelerrMsg=errMsgService.Remove();
    11. if(errMsg!=null)
    12. {
    13. errors.Add(new
    14. {
    15. errMsg="error:"+errMsg.ErrorType+","+errMsg.ErrorKey+","+errMsg.ErrorTime+","+errMsg.ErrorMsg
    16. });
    17. }
    18. }
    19. }
    20. JsonResultresult=this.Json(errors);
    21. returnresult;
    22. }