精华内容
下载资源
问答
  • 1.删除所有页面ajax,重新建立多个空白ajax 速度正常。 2.删除页面引用js与图片没有影响。 3.ajax设置同步,速度正常 问题原因: 同一个session 每次只能建立一次请求,必须关闭session才可再次连接。可以采用...

    所做工作:

    1.删除所有页面的ajax,重新建立多个空白ajax  速度正常。

    2.删除页面引用js与图片没有影响。

    3.ajax设置同步,速度正常

     

    问题原因: 同一个session 每次只能建立一次请求,必须关闭session才可再次连接。可以采用cookie保存,若需加密可采用md5加密

    解决方法:   [SessionState(SessionStateBehavior.ReadOnly)]

    转载于:https://www.cnblogs.com/wangjiachen/p/4202286.html

    展开全文
  • 有时候会遇到一个页面多个Form的情况,在mvc中我们知道一个页面只能放一个Model,那如何在使用Model验证的前提下,放多个表单呢?这里使用PartialView+AjaxForm的方式解决。 1 PartialView 对多个表单,建立多个...

    有时候会遇到一个页面放多个Form的情况,在mvc中我们知道一个页面只能放一个Model,那如何在使用Model验证的前提下,放多个表单呢?这里使用PartialView+AjaxForm的方式解决。

    1       PartialView

    对多个表单,建立多个PartialView,Controller层代码如下:

    public PartialViewResult Main()
            {
                MainModel model = new MainModel();
                return PartialView(model);
            }
    
            [HttpPost]
            [ValidateAntiForgeryToken]
            public ActionResult Main(MainModel model)
            {
                if (!ModelState.IsValid)
                {
                    ViewBag.IndexRe = "Index 验证不通过";
                    return PartialView(model);
                }
    
                ViewBag.IndexRe = "Index 提交成功";
                return PartialView(model);
    
            }
    
            public PartialViewResult Child()
            {
                ChildModel model = new ChildModel();
                return PartialView(model);
            }
    
            [HttpPost]
            [ValidateAntiForgeryToken]
            public PartialViewResult Child(ChildModel model)
            {
                if (!ModelState.IsValid)
                {
                    ViewBag.ChildRe = "Child 验证不通过";
                    return PartialView(model);
                }
    
                ViewBag.ChildRe = "Child 提交成功";
                return PartialView(model);
            }

     

    在上面可以看到,有两个子页面,一个是Main,一个是Child,显示页面就负责引用这2个PartialView就可以了:

    <!DOCTYPE html>
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>Index</title>
        <link href="http://www.cnblogs.com/Content/Site.css" rel="stylesheet" type="text/css" />
        <script src="http://www.cnblogs.com/Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
        <script src="http://www.cnblogs.com/Scripts/jquery.validate.min.js" type="text/javascript"></script>
        <script src="http://www.cnblogs.com/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
        <script src="http://www.cnblogs.com/Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
        <script type="text/javascript">
            var vallidateChild = function () {
                $('#divchild form').removeData("validator");
                $.validator.unobtrusive.parse('#divchild form');
            };
    
            var vallidateMain = function () {
                $('#divMain form').removeData("validator");
                $.validator.unobtrusive.parse('#divMain form');
            };
        </script>
    </head>
    <body>
    <div id="divMain">
        @{Html.RenderAction("Main");}
    </div>
        <div id="divchild">
            @{Html.RenderAction("Child");}
        </div>
    </body>
    </html>

     

     

    2       Ajax.BeginForm

    在子页面的view层用,需要标注表单是ajax的,如下:

    Child的view如下:

    @model MvcApplication8.Models.ChildModel
    @using (Ajax.BeginForm("Child", "MultiForm", new AjaxOptions() { UpdateTargetId = "divchild", InsertionMode = InsertionMode.Replace, OnComplete = "vallidateChild()"}))
    {@Html.AntiForgeryToken()
        <div>@Html.TextBoxFor(m => m.ChildName)
            @Html.ValidationMessageFor(m => m.ChildName)
        </div>
        <div>
            <input type="submit" id="childBtn" value="子提交" /></div>
    }

     

     

    Main的view如下:

    @model MvcApplication8.Models.MainModel
    @using (Ajax.BeginForm("Main", "MultiForm", new AjaxOptions() { UpdateTargetId = "divMain", InsertionMode = InsertionMode.Replace, OnComplete = "vallidateMain()" }))
    {@Html.AntiForgeryToken()
        <div>
            @Html.TextBoxFor(m => m.LogName)
            @Html.ValidationMessageFor(m => m.LogName)
        </div>
        <div>
            <input type="submit" value="主提交" id="indexBtn" /></div>
    }

     

     

    3       注意

    显示页面的js引用必须有如下:

    <script src="http://www.cnblogs.com/Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
        <script src="http://www.cnblogs.com/Scripts/jquery.validate.min.js" type="text/javascript"></script>
        <script src="http://www.cnblogs.com/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
        <script src="http://www.cnblogs.com/Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script>

     

     

    同时注意显示页面的js:

    <script type="text/javascript">
            var vallidateChild = function () {
                $('#divchild form').removeData("validator");
                $.validator.unobtrusive.parse('#divchild form');
            };
    
            var vallidateMain = function () {
                $('#divMain form').removeData("validator");
                $.validator.unobtrusive.parse('#divMain form');
            };
    </script>

     

    而对这两个js函数的绑定是在AjaxOptions中的OnComplete = "vallidateMain()"。意思是指当提交后执行vallidateMain函数,函数中的意思是指重新绑定jquery的验证。

    转载于:https://www.cnblogs.com/Kingdizzy/archive/2013/04/28/3049634.html

    展开全文
  • 多个div到一个ajax页面

    2015-09-10 15:09:48
    <p>I need to send id to a php file using jquery ajax</p> <p>main.php</p> <pre><code><div id="1">Click me 1</div> <div id="2">Click me 2</div> <div id="3">Click me 3<...
  • 一个页面多个ajax请求

    2013-11-14 14:18:09
    function getJosnData(){ $.ajax({ url:"/enhancement/clientO_getReportJsonD.action", type: "post", dataType: "json" ...如何在一个页面调用ajax请求啊
  • 一个页面多个ajax,loading提示的问题

    千次阅读 2018-05-29 19:10:58
    /on ajax start$(document).ajaxStart(function(){ $("#loader").show();});//on ajax end$(document)....#loader").hide();});定义和用法ajaxStop() 方法在...它是一个 Ajax 事件。详细说明无...
    /on ajax start
    $(document).ajaxStart(function(){
        $("#loader").show();
    });

    //on ajax end
    $(document). ajaxStop(function(){
        $("#loader").hide();

    });


    定义和用法
    ajaxStop() 方法在 AJAX 请求结束时执行函数。它是一个 Ajax 事件。
    详细说明
    无论 Ajax 请求在何时完成 ,jQuery 都会检查是否存在其他 Ajax 请求。
    如果不存在,则 jQuery 会触发该 ajaxStop 事件。
    在此时,由 .ajaxStop() 方法注册的任何函数都会被执行。

    展开全文
  • 最近在做项目的时候发现两个问题,第一个问题是在主页面多个div,在div里面有input元素的onclick事件,在第一次打开div的时候通过onclick调用ajax可以被执行,当关掉打开的div重新再打开的时候onclick事件不生效。...

            最近在做项目的时候发现两个问题,第一个问题是在主页面有多个div,在div里面有input元素的onclick事件,在第一次打开div的时候通过onclick调用ajax可以被执行,当关掉打开的div重新再打开的时候onclick事件不生效。第二个问题是两个div调用ajax时会相互影响,当打开第一个div并关闭的时候,第二个div的input元素的onclick事件不被执行了。

            针对第一个问题,将input的onclick时间使用jquery的live()方法进行绑定,这时要对input元素的属性进行声明,如<input type="button" id="updateData">,在绑定事件时可以写成

            $("input#updateData").live("click",function(){

                 需要执行的代码

            });

    这样修改之后就可以执行所需执行的onclick事件了,但是这样存在一个问题,当多次调用时需要执行的代码就会被重复执行,这时因为每执行一次live()就会新生成一个委派函数,为了避免这个问题只需要在live()前使用die()即可,即将上述代码改为:

            $("input#updateData").die().live("click",function(){

                 需要执行的代码

            });

    这样修改之后在重复执行之前总是会销毁原来的委派,即只保留一个委派,就不会出现重复的问题了。

           针对第二个问题,这里由于我两个div里面有相同的字段,为了偷懒直接将其中一个div的重复内容复制到了第二个div中,导致元素的id相同,在调用ajax根据id进行赋值时就无法确定赋值给哪个div,因此就出现上述我所描述的问题,在这里需要注意,当同一个页面嵌套多个div的时候,除非是不需要对div里面的元素进行操作,如果涉及到操作的话,一定要保证你所使用的id或者name完全不同,在这里指出来也希望小伙伴你们汲取教训。

    展开全文
  • (2012-05-15 18:24:26) 最近在帮朋友做一个网站,需求很简单,几乎没什么特别的技术点,纯属数据传递和处理,...我想到了ajax,但是用最初的写法的时候发现,多个ajax只有一个能加载出数据,其他的都是加载条一
  • AJAX调用已经使Web上的用户交互向前迈出了大步:我们不再需要重新加载页面以响应每用户输入。使用AJAX,我们可以在服务器上调用特定的过程并根据返回的值更新页面,从而为我们的应用程序提供快速的交互性。AJAX...
  • 一个页面多个分页和ajax进行无刷新分页,相信很多大神已经炉火纯青了,但是小白我查了n多文档和帖子才写出来的。太高兴了。 我这个是一个页面写了4个分页,并且无刷新进行分页处理,下面做个记录,就写两个给需要的...
  • https://dynamic1.scrape.cuiqingcai.com/详情页先尝试用requests来直接提取页面importrequestsurl='https://dynamic1.scrape.cuiqingcai.com/'html=requests.get(url).textprint(html)运行结果可以发现数据都是通过...
  • <p>If I'm making an 'ajaxified' user interface with many ajax calls for creating, renaming, deleting various things on my page - what is the best way to handle all those "code behind" ajax pages?...
  • 在用ajax开发asp.net程序里.利用ashx页面与前台页面进行数据交互....现在我们就想办法让一个ashx页面里允许多个ajax交互; 前台页面AjaxTest.htm,内容如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tra...
  • ajax请求设置为同步解决 转载于:https://www.cnblogs.com/johnblogs/p/10245218.html
  • $.ajax({ url: "././mail/contact.php", type: "POST", data: { name: name, email: email }, cache: false, success: function() { // Success message $('#success').html("<div class='alert alert...
  • 同一页面多个ajax请求后台堵塞问题

    千次阅读 2018-09-21 18:35:27
    有个小伙子告诉我,一个页面上同时开启多个ajax,向后台请求数据,会被堵塞。 “因为是同一个会话。但如果在控制器上加上这个特性就可以了”,小伙子说。 //session只读,避免同一会话中session锁导致请求阻塞 ...
  • 项目背景:一个页面上关联了多个子表的信息,需要同时在一个界面上读取出来,如果是单纯的读取显示没有任何交互的话,可以直接后台读取数据,前端页面循环渲染显示就OK,但是项目需求是需要与页面上子表数据有CURD...
  • 一个页面加载多个Ajax的问题,IE6对这个解析不了,IE8和火狐没有问题,有时候IE8也会出现部分Ajax相应结果未显示。有没有好的解决办法?
  • 首先提出一个问题:点击页面一个按钮发送两个ajax请求,其中一个请求会不会等待另一个请求执行完毕之后再执行?答案是:不会,这两个异步请求会同时发送,至于执行的快与慢,要看响应的数据量的大小及后台逻辑的...
  • 在JS中,setTimeout本来就干这事的,不用它还真不行,当然你也可以用JQuery里面的delay方法,但它的原理也是用的setTimeout方法 方法A(); setTimeout(function(){ 方法B(); },2000);
  • 一个页面中如果存在多个ajax访问后台,此刻后台是单线程的吗?还是多线程 javascript  php   mirsery 2016年08月15日提问 关注 8 关注 收藏 3 收藏,1.9k 浏览 ...
  • jquery 同一个页面处理多个ajax请求

    千次阅读 2011-04-13 10:12:00
    加一参数 $.post(  "doSysthFile.aspx",  {  type: '1'  },  function(data, textStatus)  {  },  "json"); $.post(<br /
  • 在项目中碰到多个ajax加载,loading加载出现问题,没有能第时间加载出来。 主要原因是因为:浏览器的渲染(UI)线程和js线程是互斥的,在执行js耗时操作时,页面渲染会被阻塞掉。当我们执行异步ajax的时候没有问题...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,382
精华内容 2,152
关键字:

一个页面多个ajax