$ .ajax被包裝成新的'get'函數。
如果在js文件中只有一個'get'調用,那就好了。 但行中的2個呼叫失敗。
更精確, 第一次調用失敗,「未捕獲的ReferenceError:過程沒有定義」, 第二個是成功的,但在成功的功能它有第一「得到」調用數據。
正如我所猜測的那樣,'this'/ context有一些問題。你能解釋給我嗎?
(function() {
"use strict";
function get(url, success, error) {
$.ajax({
type: "GET",
dataType: 'jsonp',
jsonp: 'callback',
jsonpCallback: 'process',
url: url,
success: success,
error: error
});
}
get('XXX',
function(data, textStatus, jqXHR) {
console.log("SUCCESS PING 1");
console.log(data);
},
function(jqXHR, textStatus, errorThrown) {
console.log("ERROR PIND 1");
});
get('YYY',
function(data, textStatus, jqXHR) {
console.log("SUCCESS PING 2");
console.log(data);
},
function(jqXHR, textStatus, errorThrown) {
console.log("ERROR PING 2");
});
})();
/*
===========================================
===============console=====================
===========================================
1. ERROR PIND WAR
2. Uncaught ReferenceError: process is not defined
at db?callback=process&_=1485184752755:1
3. SUCCESS PING DB
4. Object {data for first call here}
*/
也許你應該通過在不同的JSONP回調。 –