2010-11-10 82 views
0

我需要以jQuery.ajax調用的形式重新格式化以下函數以執行錯誤處理(腳本顯然會在某些調用中超時)。如果轉換爲帶有錯誤回調和成功回調的.ajax(),這會是什麼樣子?幫助將此jQuery.getJson轉換爲jQuery.ajax()

jQuery.getJSON("http://boss.yahooapis.com/ysearch/web/v1/tobacco" 
    +"appid=myAppID" 
    +"&lang=en" 
    +"&format=json" 
    +"&count=50" 
    +"&view=keyterms" 
    +"&callback=?", 
    function (data) { 
     // if no error, do something, else gracefully exit 
    }); 
+0

你可以用'.ajaxError'。 http://api.jquery.com/ajaxError/ – 2010-11-10 20:54:22

+0

這將給你一個全局錯誤處理程序,使用一個錯誤:func – dstarh 2010-11-10 20:56:52

回答

2
$.ajax({ url: "http://boss.yahooapis.com/ysearch/web/v1/tobacco" 
    +"appid=myAppID" 
    +"&lang=en" 
    +"&format=json" 
    +"&count=50" 
    +"&view=keyterms" 
    +"&callback=?", 
    success: function(data){ 
     //do somethign with the data 
     }, 
    error:function(XMLHttpRequest, textStatus, errorThrown){ 
     //do something on error 
    } 
    }); 
+0

你會在哪裏插入錯誤:function()「 – 2010-11-10 20:57:41

+0

jQuery錯誤函數不能很好地工作與JQuery 1.4,爲了可靠的實現使用try/catch。(以防萬一你需要錯誤處理) – t0mcat 2010-11-10 21:15:04

+0

@ t3ch:我可以在我的問題中使用try/catch與我原來的代碼(vs轉換成.ajax爲FatherStorm建議? – 2010-11-11 17:05:26

0

我知道這是5年過去了,但你可能不應該構建自己的查詢字符串

$.ajax({ url: "http://boss.yahooapis.com/ysearch/web/v1/tobacco", 
    data: {appid: "myAppID", 
     lang: "en", 
     format: "json", 
     count: "50", 
     view: "keyterms", 
     callback: "?"}, 
    type: "GET", 
    dataformat: "JSON", 

    success: function(data){ 
     //do something with the data 
    }, 

    error:function(XMLHttpRequest, textStatus, errorThrown){ 
     //do something on error 
    } 
});