success
只有在AJAX调用成功时才会触发,即最终返回HTTP 200状态。
error
是
失败时会触发,
complete
在
请求结束会触发,无论成功与否。
在jQuery 1.8上的
jqXHR
对象(返回者
$.ajax
)
success
被替换为
done,error
被替换为
fail
,
complete
被替换为
always
。
但您仍然应该能够使用旧语法来初始化AJAX请求。所以这些做类似的事情:
//before
var v1=$('#q1').val()
var v2=$('#q2').val()
$.ajax({
type: "post",
url: '...',
data: {'a1':v1,'a2':v2},
success: function(){
alert('AJAX successful');
//after
var data = $("#XXXForm").serializeArray();
data = parseJson(data);
$.ajax({
type: "post",
url: contextPath + "/XX/xx",
dataType: "json",
contentType: "application/json",
scriptCharset: "utf-8",
async: false,
data: JSON.stringify(data)
}).done(function(data){
alert('AJAX successful');
}).fail(function(jqXHR, textStatus, errorThrown){
alert(jqXHR.responseJSON.message);
}).always(function( jqXHR, textStatus ){
然而,请注意,done
现在已弃用而改为Promise
使用的语法then
:
Promise规范中,then方法接受两个参数,分别是执行完成和执行失败的回调,而jquery中进行了增强,还可以接受第三个参数,就是在pending状态时的回调,如下:
deferred.then( doneFilter [, failFilter ] [, progressFilter ] )
除此之外,jquery还增加了两个语法糖方法,done和fail,分别用来指定执行完成和执行失败的回调,也就是说这段代码:
d.then(function(){
console.log('执行完成');
}, function(){
console.log('执行失败');
function success(responseText){
console.log(1)
function fial(request){
console.log(2)
$.ajax({
url:'/xxx'
method:'post'
}).then(success,fail)
//也可以这样写
$.ajax({
url:'/xxx'
method:'post'
}).then(
(responseText) => {console.log('success')}
,(request) => {console.log('error')}
//.then()是可以有多个的
如对你有用的话,请给个赞或评论一下,谢谢
success只有在AJAX调用成功时才会触发,即最终返回HTTP 200状态。error如果失败并且complete请求结束,则会触发,无论成功与否。在jQuery 1.8上的jqXHR对象(返回者$.ajax)success被替换为done,error被替换为fail,complete被替换为always。但是,您仍然应该能够使用旧语法来初始化AJAX请求。所以这些做类似的事情://before$.ajax({ url: '...', success: function(){
对于$.ajax请求来说,如果层级比较多,程序看起来会比较乱,而为了解决这种问题,才有了$when…done…fail…then的封装,它将$.ajax这嵌套结构转成了顺序平行的结果,向下面的$.ajax写法,看起来很乱
$.ajax({
url: /home/GetProduct,
dataType: JSON,
type: GET,
success: function (data) {
$.ajax({
url: /home/GetProduct,
dataType: JSON,
type: GET,
success: function (data) {
type: "POST",
url: "/login",
data: {username:$("#username").val(), password:$("#password").val()},
dataType: "json",
beforeSend: function(xhr){
//1.发送
$.ajax({})中的success()函数是ajax向后台请求成功后自动调用的,在success(response)函数里面的变量只有一个,response是后台返回来的值。
当后端没有给前端传回值时,$.ajax()中不会执行success,执行的是error。
在项目中,当后端servlet没给前端传回一个值时,$.ajax()执行的是error里面的程序;故特地设计给前端传...
动词过去式:ved 和 动词过去分词:done是长得特别相似的,如下:
v:动词原型 ved:过去式 done:过去分词 doing:现在分词
help helped helped helping
fuel fueled fueled fueling
cost cost co
#设置画布大小
# turtle.screensize(canvwidth=None, canvheight=None, bg=None) 画布的宽, 高, 背景颜色。
# turtle.screensize();默认状态,宽400,高300
# turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
# width, height: 输入宽和高为整数时, 表示像素;
$.ajax()代码模板
jQuery实现ajax语法为:$.ajax({}),其中{}为对象,对象里面的key键是固定的,比如:
1、type: 表示请求方式,一般为post或get
2、url表示请求的地址
3、contentType表示发送信息至服务器时内容编码类型
4、data表示发送到服务器的数据
5、dataType表示预期服务器返回数据的类型如:text,json,xml等等类型
6、success表示请求成功后的回调函数
7、error自动判断 (xml 或 html)。请求失败时调用此函数
在做项目的过程中,在ajax()方法中向后台请求成功后,需要在success()方法中调用自定义的参数,刚开始的写法如下:<script>
var name = 'hello';
function getTypeList(){
$.ajax({
url :url, //填写实际的url
type : 'post',
cont...
先给大家介绍下Ajax概念
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以
1. 在HTML页面中创建一个表单,并绑定一个提交事件。
2. 在提交事件中阻止表单的默认行为,以便使用AJAX发送异步请求。
3. 使用AJAX发送一个POST请求到后端并传递表单数据。
4. 在后端接收到请求后处理数据并返回给前端。
5. 在前端通过success或者done回调处理返回的数据,例如将数据显示在页面上或者执行其他操作。
举个例子,下面是使用jQuery实现的AJAX异步请求获取表单返回的数据的示例代码:
HTML代码:
<input type="text" name="name" placeholder="请输入名字">
<input type="text" name="age" placeholder="请输入年龄">
<button type="submit">提交</button>
</form>
<div id="result"></div>
JS代码:
$('form').submit(function(event) {
event.preventDefault(); // 阻止表单的默认提交
// 使用AJAX发送异步请求
$.ajax({
url: 'backend.php', // 后端接口地址
method: 'POST',
data: $(this).serialize() // 将表单数据序列化成字符串传递给后端
}).done(function(data) {
// 处理后端返回的数据
$('#result').html(data);
这样当用户点击提交按钮时,表单数据会被异步提交到后端并返回处理结果,结果会被显示在页面的result div中。