asp.net MVC3 + JQuery 的ajax简单使用
作者:佚名    ASP.NET网站开发编辑:admin   更新时间:2022-07-23
asp.net MVC3 + JQuery 的Ajax简单使用
一直都没有使用过JQuery,更没使用过JQuery的ajax支持带来的方便,今天试了一下,真是减少了很多工作量,使用方法也比较简单这里先记下来,以后使用时可以再拿着用。本应用中,本来是准备使用长链接的方式,在server端有错误消息产生时,能实时返回错误消息。可在使用长链接时,因为.net功底不够,以失败告终!所以采用了javascript中间隔查询的方法。页面代码如下:
Java代码
- @{
- ViewBag.Title="ErrorMonitor";
- }
- <scriptsrc="@Url.Content("~/Scripts/jquery-1.4.4.min.js")"type="text/Javascript"></script>
- <scripttype="text/javascript"language="javascript">
- $(function(){
- setInterval(ajaxRequest,1000);
- });
- functionajaxRequest(){
- $.ajax(
- {
- url:'/TopDemo/Home/ErrorRefresh',//指定调用的URL,对应于Controller
- data:'{}',//如果请求有参数,需要在这里指定
- type:"POST",//请求类型
- contentType:"application/json;charset=utf-8",
- dataType:"json",
- success:function(data){//请求成功后的回调
- if(data==null||data.length==0){
- returnfalse;
- }else{
- writeMsg(data);
- }
- },
- error:function(data){//请求失败后的回调
- alert(data.statusText);
- }
- }
- );
- }
- functionwriteMsg(data){
- varerrorDiv=document.getElementById("errorDiv");
- for(vari=0;i<data.length;i++){
- varerrorText=document.createTextNode(data[i].errMsg);
- varerrorTextDiv=document.createElement("div");
- errorTextDiv.appendChild(errorText);
- if(errorDiv.hasChildNodes){
- errorDiv.insertBefore(errorTextDiv,errorDiv.firstChild);
- }else{
- errorDiv.appendChild(errorTextDiv);
- }
- }
- }
- </script>
- <h2>
- 错误监控</h2>
- <divid="errorDiv">
- </div>
Controller的代码也很简单,就是简单的把错误消息列表以json格式返回给View,如下:
Java代码
- [HttpPost]
- publicJsonResultErrorRefresh()
- {
- interrMsgSize=errMsgService.Size();
- List<object>errors=newList<object>();
- if(errMsgSize>0)
- {
- for(vari=0;i<errMsgSize;i++)
- {
- ErrorMessageModelerrMsg=errMsgService.Remove();
- if(errMsg!=null)
- {
- errors.Add(new
- {
- errMsg="error:"+errMsg.ErrorType+","+errMsg.ErrorKey+","+errMsg.ErrorTime+","+errMsg.ErrorMsg
- });
- }
- }
- }
- JsonResultresult=this.Json(errors);
- returnresult;
- }