$ .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回调。 –