我有Node.js服務器和jQuery ajax請求。JSONP Ajax調用不能並行工作
這工作:
api(config.categoriesURL, success, config.err1);
setTimeout(function() {
api(config.randomURL, success1, config.err2);
},300);
但這並不:
api(config.categoriesURL, success, config.err1);
api(config.randomURL, success1, config.err2);
這裏是控制檯輸出:
url: http://localhost:3000/categories/?callback=myCallback&_=1431726147454 url: http://localhost:3000/random/?callback=myCallback&category=55564cc42e366b34aa9a529d&callback=myCallback&_=1431726147455 responseText: undefined status: 200 text status: parsererror error: Error: myCallback was not called'
這是服務器端或客戶端問題?任何想法爲什麼發生這種情況,我應該如何解決它?這是正常的行爲嗎?
這裏是更多的代碼:
main.js
$(document).ready(function() {
var api = require('./api'),
config = require('./config');
function success (data) {
data.forEach(function (category) {
var div = document.createElement('div');
div.id = category._id;
div.textContent = category.name;
$('.container').append(div);
});
}
function success2 (data) {
console.log(data);
}
api(config.categoriesURL, success, config.err1);
api(config.randomURL, success2, config.err2);
});
api.js
function api(url, success, error) {
$.ajax({
type: 'GET',
url: url,
beforeSend: function (jqXHR, settings) {
console.log('url: ' + settings.url);
},
jsonpCallback: 'myCallback',
dataType: 'jsonp',
success: success,
error: error
});
}
module.exports = api;
稍微多一點的代碼會很有用,在你調用這些函數之前有些東西是有用的。 – Sidd
@Sidd,我更新了更多的代碼。如果您需要更多信息,請告訴我。 – Mika