พารามิเตอร์ที่ส่งไปยัง. Fail ใน jQuery คืออะไร?


107

ฉันไม่พบเอกสารเกี่ยวกับชื่อของพารามิเตอร์ทั้งสามเมื่อ$.ajaxล้มเหลว

ตอนนี้ฉันกำลังใช้:

.fail(function(A, B, C) {

2
แนวโน้มเดียวกันกับที่จะส่งผ่านไปยังโทรกลับ:error jqXHR, textStatus, errorThrown
Felix Kling

คำตอบ:


93

อ้างอิงจากhttp://api.jquery.com/jQuery.ajax/การfailติดต่อกลับควรได้รับ:

jqXHR, textStatus, errorThrown

เช่นเดียวกับerrorแต่errorเลิกใช้แล้ว:

ประกาศการเลิกใช้งาน: การเรียกกลับ jqXHR.success (), jqXHR.error () และ jqXHR.complete () จะเลิกใช้งานใน jQuery 1.8 ในการเตรียมโค้ดของคุณสำหรับการลบในที่สุดให้ใช้ jqXHR.done (), jqXHR.fail () และ jqXHR.always () แทน


Ooh ฉันไม่ได้สังเกตเห็น ขอขอบคุณที่แบ่งปันเอกสารดังกล่าว ฉันดีใจที่การเรียกกลับ jQuery XHR ในที่สุดก็จับคู่กับ Deferreds
Michael Mior

2
อ้อ แต่เมธอด ajaxError มี event, jqXHR, ajaxSettings, throwError
Phillip Senn

ทั้งหมดนี้เป็นการเรียกกลับแบบเดียวกันที่ส่งผ่านอาร์กิวเมนต์เดียวกันการใช้งานและบริบทที่แตกต่างกัน
nathanjosiah

6
ที่ระบุว่าการเรียกกลับล้มเหลวได้รับ 3 อาร์กิวเมนต์นี้? นอกจากนี้ยังระบุไว้สำหรับพารามิเตอร์การตั้งค่าที่สมบูรณ์ เหล่านี้จะแตกต่างกันเช่นการขัดแย้งที่จะมีความแตกต่างกว่าการขัดแย้งที่ผ่านมาcomplete done
ทอม

5
@ ทอมฉันรู้ว่าฉันมาสายที่จะตอบคุณ แต่มีระบุไว้ที่นี่: api.jquery.com/jQuery.ajax/#jqXHR ( jqXHR.fail(function( jqXHR, textStatus, errorThrown ) {});)
nathanjosiah

27

นี่คือตัวอย่างหลังจากค้นหาปัญหาเดียวกัน:

this.GetOrderList = function (customerId) {
    var self = this;
    $.post('MySuperServer.aspx', { customerId: customerId })
    .done(function (dataStr) {
        var orderList = jQuery.parseJSON(dataStr);
        self.process(orderList);
    })
    .fail(function (jqXHR, textStatus, error) {
        console.log("Post error: " + error);
    });
}

ในขณะที่แก้ไขข้อบกพร่องฉันมี:

  • jqXHRเป็นออบเจ็กต์ JS
  • textStatusคือ "error"
  • ข้อผิดพลาดคือ "Internal Server Error" ซึ่งเป็นข้อความแสดงข้อผิดพลาดที่เซิร์ฟเวอร์ส่งมา

1
ใช่ฉันคิดว่าสิ่งที่พวกเขาพยายามจะพูดถึงโดยใช้คำว่า textStatus คือนี่คือตัวแปรสถานะและอยู่ในรูปแบบข้อความ เมื่อเทียบกับ jqXHR ซึ่งเป็นวัตถุ jQuery
Phillip Senn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.