分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

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

发布时间:2023-09-06 01:21责任编辑:顾先生关键词:jQuery

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(); ??}); ??

 

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

原文地址:http://www.cnblogs.com/Dreamice/p/7768095.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved