初学AJAx,对于几种写法一直搞不懂,javascript
对于$.ajax(),在官方API文档中是这么说的:java
jQuery 底层AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其建立的 XMLHttpRequest 对象。大多数状况下你无需直接操做该函数,除非你须要操做不经常使用的选项,以得到更多的灵活性。最简单的状况下,$.ajax()可以不带任何参数直接使用。 ajax
儿对于$.post(),官方API文档中是这么说的:json
这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。若是须要在出错时执行函数,请使用 $.ajax。app
而后先看两个实例:ide
$('#btnNewFile').bind('click', function () {
//请求得到系统自动生成的招标项目编号,并显示到页面的文本框中
$.post("/InviteBid/GetInviteBidId", function (data, status) {
$("#NewFile").hide();
$('#BidInfo').show();
$('#InviteBidId').val(data); //将请求获得的数据赋值给招标项目编号文本框
$("#btnArea").show();
//更改标题
$("#MainContent").panel({
title:"填写项目信息"
});
});
});
//提交用户输入的必要的项目信息,根据此信息生成相应的Word模板,这里能够用$.post()方法代替
$.ajax({
type:"POST",
url: "/InviteBid/ReceiveInfo",
contentType: "application/json", //若是提交的是json数据类型,则必须有此参数,表示提交的数据类型
//dataType: "json", //表示返回值类型,没必要须
data: JSON.stringify({ "InviteBidInfo":
[{ 'BidProId': BidProId, 'BidProType': BidProType, 'BidProName': BidProName, 'ItemType': ItemType }]
}),
success: function (jsonResult) {
//在原来的页面跳转到下载word模板的页面
window.location.href = "/InviteBid/ExportTemplateFile";
},
error: function (data){
alert("下载模板失败!");
}
});
});
以前已经总结过ajax方法中参数的解析,本文这两个方式能够理解为一个简单的,一个完整的,其中$.post()方法中的function(){}只有当请求成功响应成功是才能执行该方法(能够理解为完整写法中succes:后的方法),若是须要在请求出错时执行函数,则只能使用 $.ajax();函数