我有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