一直都没有使用过JQuery,更没使用过JQuery的ajax支持带来的方便,今天试了一下,真是减少了很多工作量,使用方法也比较简单 
这里先记下来,以后使用时可以再拿着用。

本应用中,本来是准备使用长链接的方式,在server端有错误消息产生时,能实时返回错误消息。可在使用长链接时,因为.net功底 
不够,以失败告终!所以采用了javascript中间隔查询的方法。 
页面代码如下:

  1. @{
  2. ViewBag.Title = "ErrorMonitor";
  3. }
  4. <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
  5. <script type="text/javascript" language="javascript">
  6. $(function () {
  7. setInterval(ajaxRequest, 1000);
  8. });
  9. function ajaxRequest() {
  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. return false;
  20. } else {
  21. writeMsg(data);
  22. }
  23. },
  24. error: function (data) {                // 请求失败后的回调
  25. alert(data.statusText);
  26. }
  27. }
  28. );
  29. }
  30. function writeMsg(data) {
  31. var errorDiv = document.getElementById("errorDiv");
  32. for (var i = 0; i < data.length; i++) {
  33. var errorText = document.createTextNode(data[i].errMsg);
  34. var errorTextDiv = 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. <div id="errorDiv">
  47. </div>

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

    1. [HttpPost]
    2. public JsonResult ErrorRefresh()
    3. {
    4. int errMsgSize = errMsgService.Size();
    5. List<object> errors = new List<object>();
    6. if (errMsgSize > 0)
    7. {
    8. for (var i = 0; i < errMsgSize; i++)
    9. {
    10. ErrorMessageModel errMsg = 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. JsonResult result = this.Json(errors);
    21. return result;
    22. }

asp.net MVC3 + JQuery 的ajax简单使用的更多相关文章

  1. Asp.net中JQuery、ajax调用后台方法总结

    通过上一篇文章实例的实现,整个过程当中学习到很多知识点,了解了Jquery.Ajax在asp.net中的运用,加以总结,其实原理都是一样的,理解了一种,其他的注意很少的区别就可以了.灵活运用: 1.有 ...

  2. 2、jQuery的Ajax简单示例

    一.创建一个JavaWEBProject 二.创建一个Servlet(下面的例子中用到了Json--第32行,Json的作用是将一个Object类转换为特定格式的字符串,如果不用Json直接返回字符串 ...

  3. ASP.NET MVC3入门教程之ajax交互

    本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=100&extra=page%3D1 随着web技术的不断发展与 ...

  4. 【转】asp.net mvc3 简单缓存实现sql依赖

    asp.net mvc3 简单缓存实现sql依赖   议题 随 着网站的发展,大量用户访问流行内容和动态内容,这两个方面的因素会增加平均的载入时间,给Web服务器和数据库服务器造成大量的请求压力.而大 ...

  5. 利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先来个简单的实例热热身吧. 1.无参数的方法调用 asp.net code: view plaincopy to clip ...

  6. JQuery和Ajax在ASP.NET MVC中的基本应用

    当我们在开发Web应用程序中使用JQuery和Ajax异步调用来实现很多功能时,不仅提高了程序的性能,而且给用户一个更好的交互式界面操作体验.接下来我们依旧用简单的实例来学习下它们的应用. 创建一个A ...

  7. 如何构建ASP.NET MVC4&JQuery&AJax&JSon示例

    背景: 博客中将构建一个小示例,用于演示在ASP.NET MVC4项目中,如何使用JQuery Ajax. 步骤: 1,添加控制器(HomeController)和动作方法(Index),并为Inde ...

  8. ASP.NET 跨域请求之jQuery的ajax jsonp的使用解惑 (转载)

    前天在项目中写的一个ajax jsonp的使用,出现了问题:可以成功获得请求结果,但没有执行success方法,直接执行了error方法提示错误——ajax jsonp之前并没有用过,对其的理解为跟普 ...

  9. jQuery Uploadify在ASP.NET MVC3中的使用

    1.Uploadify简介 Uploadify是基于jQuery的一种上传插件,支持多文件.带进度条显示上传,在项目开发中常被使用. Uploadify官方网址:http://www.uploadif ...

随机推荐

  1. PHP JS HTML ASP页面跳转代码 延时跳转代码 返回到上一界面并刷新 JS弹出指定大小的新窗口

    1.PHP延时跳转代码 //跳转到浏览界面 header("Refresh:1;url=machine_list.php"); //不延时 <?php header(&quo ...

  2. 信驰达携“Zigbee Light Link灯控方案”亮相第18届广州国际照明展

    2013年6月9日至12日,第18届广州国际照明展览会在琶洲中国进出口商品交易会展馆举行,作为全球照明及LED行业风向标和晴雨表,本次展会吸引了来自27个国际及地区,共2600多家企业参展.我公司受T ...

  3. Sqlserver中char,nchar,varchar与Nvarchar的区别分析

    1. char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率极高,比如定义char(10),那么不论你存储的数据是否达 到了 ...

  4. Kettle行列转换

    Kettle在控件中拥有行列转换功能,但是行列转换貌似是弄反了. 一.行转列 1.数据库脚本 create TABLE StudentInfo ( studentno int, subject ), ...

  5. 快速的搭建JFinal的ORM框架示例

    JFinal默认用的是Freemarker作为视图. 所以,打架还是准备好俩个jar包吧! freemarker-2.3.16.jar JFinal-bin-1.5.jar 新建web工程和添加lib ...

  6. Go实现线程池

    本文通过代码讲解如何实现一个线程池.代码(来自https://gobyexample.com/)及注释如下: package main import "fmt" import &q ...

  7. python的内存管理

    1.在Python中,整数和短小的字符,Python都会缓存这些对象,以便重复使用.当我们创建多个等于1的引用时,实际上是让所有这些引用指向同一个对象. a = 1 b = 1 print hex(i ...

  8. UITableView 表视图编辑

    UITableViewController(表视图控制器)继承自UIViewController,自带一个tableView self.view不是UIView而是UITableView dataso ...

  9. 部署报表和 ReportViewer 控件 rdlc

    部署报表和 ReportViewer 控件 您可以将报表和 ReportViewer 控件作为应用程序的一部分自由发布.根据控件类型以及报表是配置为本地处理还是远程处理,部署要求会有很大不同.在同一个 ...

  10. Win7下的本地网站发布

    今天闲来无事研究了一下网站的发布,之前一直以为很难的样子,当真正实现了就觉得他也不过如此,现在来把我的研究结果分享一下,如果有问题望大家提出来! 首先发布网站我们要在本地的电脑上安装IIS,这个就不多 ...