当$ .getJSON中发生错误时,如何获取错误消息

时间:2010-06-02 05:34:23

标签: jquery ruby-on-rails

在“get_data”操作中,有一些代码如下:

def get_data
 if params[:p]=='1'
   raise "error 1"
 elsif params[:p]=='2'
   raise 'error 2'
 else
  return data
 end
end

在视图中:

<script>
 $.getJSON('/controller/get_data',function(){...})
</script>

所以,当出现一些错误时,我怎么能得到它! TKS!

2 个答案:

答案 0 :(得分:3)

要记住的一件事是。

getJson只是一个很薄的包装器:

getJSON: function( url, data, callback ) {
    return jQuery.get(url, data, callback, "json"); 
},

反过来又是get的瘦包装:

 get: function( url, data, callback, type ) {
    // shift arguments if data argument was omited
    if ( jQuery.isFunction( data ) ) {
        type = type || callback;
        callback = data;
        data = null;
    }

    return jQuery.ajax({
        type: "GET",
        url: url,
        data: data,
        success: callback,
        dataType: type
    });
},

简单地归结为对$ .ajax的调用,它有一个简单的失败和成功处理程序。

所以你可以这样做:

$.ajax({
    type: "GET",
    url: url,
    data: data,
    success: callback,
    dataType: "json", 
    error: failureCallback
});

答案 1 :(得分:1)

http://api.jquery.com/ajaxError/

注册Ajax请求完成时要调用的处理程序。这是一个Ajax事件。