我想創建一個可重用的函數,我可以傳遞參數,並基於那個執行ajax調用。到目前爲止,這是我得到:阿賈克斯返回響應
ajaxFunc: function(url, method, args) {
return {
var URL = url,
METHOD = method,
ARGS = args,
ERROR = error,
index = -1,
ajaxResponse,
AJAX = function() {
var url = URL + ((args == null) ? '' : ('/' + ARGS)),
data = (METHOD == 'post') ? ARGS[index] : undefined,
thisObject = this;
$.ajax({
url:url,
method:METHOD,
data: data,
dataType: 'json',
error: function(jqXHR, textStatus, error) {
console.error(jqXHR, textStatus, error)
},
success: function(response) {
ajaxResponse = response;
}
});
return ajaxResponse;
};
AJAX();
};
};
我的問題是,我怎麼能得到return
工作? - 當我調用函數時,我可以看到ajax正在調用,但函數永遠不會返回響應。
E.g:如果我做MAIN.util.ajaxFunc('http://url.com/', 'get', null);
我得到什麼回報。我想找到一種方法,我可以做一個ajaxFunc
電話,然後檢查響應,如果response.length
做些什麼。
我在做什麼錯了?
您的代碼在ajax收到響應之前完成。 – Marko
像jQuery一樣使用回調函數,並且使用所有的JavaScript。沒有很好的方法可以使某些內在的異步同步,並且你的用戶會感謝你不這樣做。 – Ryan
'return {var URL = url'看起來不正確。 –