多个 ajax 请求未定义
Multiple ajax request getting undefined
我已经阅读了大多数多个 ajax 请求解决方案......我设法使用 if 语句嵌套使两个请求运行。我的代码是
$(document).on('click', '.postTitle', function(e) {
e.preventDefault();
var id = $(this).data('id');
var request = $.ajax({
url: 'includes/functions.php?job=single_blog',
cache: false,
data: 'id=' + id,
dataType: 'json',
contentType: 'application/json; charset=utf-8',
type: 'get'
});
var request2 = $.ajax({
url: 'includes/functions.php?job=blog_comment',
cache: false,
data: 'id=' + id,
dataType: 'json',
contentType: 'application/json; charset=utf-8',
type: 'get'
});
request.done(function (output) {
if (output.result === 'success') {
request.done(function (output2) {
if (output2.result === 'success') {
var single_blog = output.data[0].single_blog;
var blog_comment = output2.data[0].blog_comment;
$('.blog').empty().append(single_blog);
console.log(blog_comment);
} else {
console.log('ajax2 failed', 'error2');
}
});
} else {
console.log('Information request failed', 'error');
}
});
request.fail(function (jqXHR, textStatus) {
console.log('error');
});
});
当我在 var single_blog 上做控制台.log时,我得到值,但当我在 var 上尝试时blog_comment我得到未定义......我在哪里错过了它?
尝试使用 $.when.apply()
,单个.done()
$.when.apply($, [request, request2])
.done(function(output, output2) {
// do stuff with responses from `request`, `request2`
if (output[0].result === "success"
&& output2[0].result === "success") {
var single_blog = output.data[0].single_blog;
var blog_comment = output2.data[0].blog_comment;
$(".blog").empty().append(single_blog);
console.log(blog_comment);
}
})
.fail(function() {
console.log("error");
})
我认为
而不是
request.done(function (output2) {
它应该是
request2.done(function (output2) {
request
用于single_blog
,request2
用于blog_comment
。
您犯了小错误,更改为以下内容
request.done(function (output) {
if (output.result === 'success') {
request2.done(function (output2) {
if (output2.result === 'success') {
var single_blog = output.data[0].single_blog;
var blog_comment = output2.data[0].blog_comment;
$('.blog').empty().append(single_blog);
console.log(blog_comment);
} else {'ajax2 failed', 'error2'}
})
相关文章:
- "日期“;AJAX请求返回的类型值未定义
- 一台特定计算机的Ajax请求数据未定义/失败
- $.每个jquery循环打印一个“;未定义的“;对于getJSON请求后的每个元素,网格数据都会完美地打印出来
- 通过C#向区块链服务发送请求时未定义XMLHttpRequest
- 从 Angular 数据工厂中的 HTTP POST 请求接收未定义的结果
- React返回未定义的JSON请求
- AngularJS指令中的作用域未定义,控制器中有ajax请求
- xmlhttp请求后未定义$_POST
- 节点JSON https请求未定义
- '$'未定义Jquery ajax请求-javascript导入
- 在ColdFusion中表单范围中未定义AJAX请求的发布参数
- 使用 NodeJS 的请求模块进行 HTTP 身份验证,返回未定义的正文
- 自 2012 年 6 月 12 日以来,“未定义”随机附加到我网站上 1% 的请求 URL 中
- 多个 ajax 请求未定义
- 类型错误:在 ASP.NET 中触发 AJAX 请求时,未定义不是一个函数
- 请求 JSON 时获取“未定义不是一个函数”
- 未定义使用 HTTP GET 请求返回对象
- AJAX 请求导致“未定义不是对象”错误
- 未捕获的ReferenceError:未定义请求
- 谷歌方向错误:未定义请求