• jQuery中ajax的4种常用请求方式


    1.$.ajax()返回其创建的 XMLHttpRequest 对象。

    $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。
    如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 "text/xml")。
    实例:
    保存数据到服务器,成功时显示信息。

    $.ajax({
        type: "post",
        dataType: "html",
        url: '/Resources/GetList.ashx',
        data: dataurl,
        success: function (data) {
            if (data != "") {
              $("#pager").pager({ pagenumber: pagenumber, pagecount:data.split("$$")[1], buttonClickCallback: PageClick });
              $("#anhtml").html(data.split("$$")[0]);
            }
        }
    });            

    2.通过远程 HTTP GET 请求载入信息。

    这是一个简单的 GET 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
    实例:

    $.get("test.cgi", { name: "John", time: "2pm" },
        function(data){
        alert("Data Loaded: " + data);
    });

    3. 通过远程 HTTP POST 请求载入信息。

    这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
    实例:

    $.post("/Resources/addfriend.ashx", { "fid": fids, "fname":     fnames, "tuid": tuids, "tuname": tunames }, function (data) {
        if (data == "ok") {
            alert("添加成功!");
        }
    })    

    4.通过 HTTP GET 请求载入 JSON 数据。

    实例:

    $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
    function(data){
      $.each(data.items, function(i,item){
      $("<img/>").attr("src", item.media.m).appendTo("#images");
      if ( i == 3 ) return false;
      });
    });

    项目实际开发过程中,使用modal,在加载数据时,也会使用URL转向后台Java函数,以此作为比较。

    dialogEdit.modal({
      remote:base+"platform/sys/getEditDatail?id="+id+"&type="+type
      }
    )

    详解bootstrap的modal-remote两种加载方式

    【转载】请前往原地址

    方法一:

    使用链接
    <a href="demo.jsp" data-toggle="modal" data-target="#mymodal">打开</a>
    当点击该连接时,demo.jsp的内容就可以动态的加载到<div class="modal-content"></div>中。当然这里的连接也可以是controller

    方法二:

    使用脚本

    $("#myModal").modal({    
    
       remote: "page.jsp"    
    
    });    

     

    但是这样加载后,会有问题,modal数据只加载一次,如果要加载不同的数据,例如根据id查询详细信息,modal的数据是不能更新的,即使传的id值不同。其实解决办法很简单,只需要在加载下次数据前,将之前的加载的数据清除即可。
    最简单的方式就是监听modal的hidden,当modal关闭时,即把数据清除即可:

     
    //v2  
    $("#myModal").on("hidden", function() {    
        $(this).removeData("modal");    
    });    
    //v3  
    $("#myModal").on("hidden.bs.modal", function() {    
        $(this).removeData("bs.modal");  
    });   

    问题来了:如果在请求的页面中有$()加载事件加载比如boostrap-validator或者boostrap-fileinput等插件会出现奇怪的现象,第一次正常执行,关掉modal,第二次,$()的代码没有执行,第三次能执行;经过反复发现“hidden.bs.modal”监听每次都执行了,但是加载到<div class="modal-content"></div>里面的数据没有被清除,可能是这个原因导致的这种现象,于是改成如下代码:

    $("#myModal").on("hidden.bs.modal", function() {    
        $(this).removeData("bs.modal");  
        /*modal页面加载$()错误,由于移除缓存时加载到<span style="color: rgb(51, 51, 255);"><div class="modal-content"></div></span>未移除的数据,手动移除加载的内容*/  
        $(this).find(".modal-content").children().remove();   
    });   

     

  • 相关阅读:
    Makefile 运行
    fortran中//表示什么啊?双斜杠
    如何设置EXCEL打印范围
    Makefile学习_简介
    小白初学Ioc、DI、Castle Windsor依赖注入,大神勿入(不适)
    小白初学ABP框架,着实累啊
    职场初体验
    3.8.1 块作用域
    3.8 控制流程
    3.7.3 文件输入与输出
  • 原文地址:https://www.cnblogs.com/Dreamice/p/7768095.html
Copyright © 2020-2023  润新知