0

我查看了 jquery 代码,但我不清楚。如何让我自己的函数返回成功或错误,如下面的代码:

   $.ajax({
      type: "GET",
      url: "/some.xml",
      success: function()
      { /** found! **/},
      error: function(xhr, status, error) {
        if(xhr.status==404)
          { /** not found! **/}
      }
    });
4

2 回答 2

1

$.ajax传入一个对象,该对象具有作为函数successerror属性。在函数中,它将根据结果调用success或调用。error这个例子可以帮助你更好地理解。

jsFiddle

function ifTrue(bool, params) {
    if (bool)
        params.success();
    else
        params.error();
}

ifTrue(true, {
    success: function () {
        alert('success');
    },
    error: function () {
        alert('error');
    }
});

ifTrue(false, {
    success: function () {
        alert('success');
    },
    error: function () {
        alert('error');
    }
});
于 2013-04-01T10:16:08.267 回答
0

对于更多选项(成功、错误、状态,...),我建议使用 Defered 对象。 http://api.jquery.com/category/deferred-object/

例子:

    function MyFunction(parameter){
        var def = $.Deferred();
        if(DoSomeThing()){
           def.resolve();
        }
        else{
           def.reject()
        }
        return def;
    }

用法: ...

MyFunction(xxx).then(function(){
// Success case
})
.fail(function(){
//Fail case
});
于 2013-04-01T10:56:59.940 回答