本来前端一直用的是a标签的超链接发送请求的,但是现在有一个请求就是当后台处理完数据后要向前端指明处理的情况。
举个例子就是删除部门的功能,后台接收前端传过来的部门ID,然后开始判断该部门是否可以删除,比如部门中有职员,或者该部门的下级部门中还有职员(删除部门会同时删除该部门的所有下级部门)
当后台执行完毕后要向前端返回字符串以提醒用户该部门是否删除成功,以及如果失败要返回失败的原因,简单的a标签无法通过回调函数弹出提示框,所以我使用ajax发送请求,
<a href="javascript:void(-1)" οnclick="delFun()">
function delFun(){
var isSubmit = window.confirm("确认删除XXX吗?");
if (isSubmit) {
$.ajax({
type : "post",
url : 执行删除方法的url地址,
data:参数
async : false,
success : function(data){
alert(data)
}
}
}
在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;
});
});
href="javascript:void(-1) 释义:
a标签如果带有属性href,那么点击之后就会跳往href地址
当href不为空时,a就是超链接
当href为空时,a就是锚链接
当a为锚链接时,即使href为空,他还是会跳到本页的页眉去
有时候我们只想要a的样式,而不希望点了它跳来跳去,就给他的href写成javascript:void(0)来屏蔽跳转动作