当前位置:  开发笔记 > 编程语言 > 正文

Jquery检查ajax帖子的成功

如何解决《Jquery检查ajax帖子的成功》经验,为你挑选了3个好方法。

我如何定义ajax $ .post的成功和失败功能?



1> Jere.Jones..:

文档在这里:http://docs.jquery.com/Ajax/jQuery.ajax

但是,总而言之,ajax调用需要一堆选项.你正在寻找的是错误和成功.

你会这样称呼它:

$.ajax({
  url: 'mypage.html',
  success: function(){
    alert('success');
  },
  error: function(){
    alert('failure');
  }
});

我已经证明了成功和错误函数不带参数,但它们可以接收参数.

error函数可以有三个参数:XMLHttpRequest,textStatus和errorThrown.

success函数可以有两个参数:data和textStatus.您请求的页面将位于data参数中.


请注意这里的弃用通知:http://bit.ly/nuiyyE.从jQuery 1.8开始,将弃用成功,错误和完整方法,而不是使用:done,fail和always.
如果我正确读取,则弃用通知*only*适用于返回的jqXHR对象上的success()等,但不适用于使用settings对象指定的那些.因此`$ .ajax(url).success(...)`将被弃用,而应使用`$ .ajax(url).done(...)`代替.`$ .ajax(url,{success:...}`仍然可以,我没有看到关于这些设置成员的个别描述的弃用通知.

2> Matthew Crum..:

如果需要失败功能,则不能使用$ .get或$ .post函数; 你需要直接调用$ .ajax函数.您传递了一个可以具有"成功"和"错误"回调的选项对象.

而不是这个:

$.post("/post/url.php", parameters, successFunction);

你会用这个:

$.ajax({
    url: "/post/url.php",
    type: "POST",
    data: parameters,
    success: successFunction,
    error: errorFunction
});

还有很多其他选择.该文档列出了所有可用选项.


@Kaushik:它基于服务器返回的HTTP状态代码.基本上,除了2xx或304(未修改)之外的任何内容都被视为错误.其他条件是连接超时或由于某种原因无法连接到服务器.
在url.php调用期间,是否在服务器端检查了哪些特定内容?如我怎么知道电话是成功还是错误?我必须返回true/false,null或类似的东西吗?我在struts上尝试这个,有点混淆我的动作类应该返回什么.至于我怎么知道成功通过或没有成功...

3> Li3ro..:

使用jQuery 1.8及以上版本,应使用以下内容:

var request = $.ajax({
    type: 'POST',
    url: 'mmm.php',
    data: { abc: "abcdefghijklmnopqrstuvwxyz" } })
    .done(function(data) { alert("success"+data.slice(0, 100)); })
    .fail(function() { alert("error"); })
    .always(function() { alert("complete"); });

查看文档@hitautodestruct说明.

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有