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

$.ajaxsuccess関数であるとerrorプロパティを持つオブジェクトを渡します。関数では、結果に応じてsuccessorのいずれかを呼び出します。errorこの例は、理解を深めるのに役立ちます。

jsフィドル

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 に答える