【发布时间】:2018-07-09 19:53:00
【问题描述】:
我在我的 file.js 中进行了多次调用 AJAX,调用具有以下形式:
文件.js
$.post('functions.php',{consulta: 'tbl_Cours', action: {"ask_query_field":variable1}).val()}, function(res1){
if (res1){
//do something
}
//Second call
$.post('functions.php',{consulta: 'tbl_Cours', action: {"ask_query_field":variable2}}, function(res2){
if(res2){
//do something
}
//third call
$.post('functions.php',{consulta: 'tbl_Cours', action: {"ask_query_field":variable3}}, function(res3){
if(res3){
console.log(res3);
}
});
});
});
所以,第一次和第二次调用返回都很好,我调用了同一个文件functions.php和同一个函数。但是在第三次调用中,我得到了一个数据,但它与从服务器服务器 php 发送的数据不同。
我在 php 中看到了日志并显示返回:
从 php 记录
[30-Jan-2018 11:06:50 America/Chicago] Array
(
[tema] => Tema 1 .- Introducción y definiciones
[pk_tema] => 3
[cantidad] => 1
)
[30-Jan-2018 11:06:50 America/Chicago] Array
(
[tema] => Tema 2 .- Posiciones y valoraciones
[pk_tema] => 4
[cantidad] => 3
)
[30-Jan-2018 11:06:50 America/Chicago] Array
(
[tema] => Tema 3 .- Practicas y actividades
[pk_tema] => 5
[cantidad] => 3
)
接下来,在 Javascript 中,我看到我收到的内容和数据不同
>> {0: {…}, 1: {…}, 2: {…}}
0:{tema: "Tema 1 .- Introducción y definiciones", pk_tema: "3", cantidad: "1"}
1:{tema: "Tema 2 .- Posiciones y valoraciones", pk_tema: "4", cantidad: "4"}
2:{tema: "Tema 3 .- Practicas y actividades", pk_tema: "5", cantidad: "3"}
pk_tema:4 现在有 cantidad :4 之前在 functions.js 中有 3 个。 我试过了
- 把变量名改成result Ex: res3 改成data_received,结果是一样的。
- 把 $.ajaxSetup({async: false});因为我认为这是同步问题。但结果是一样的。
- 我通过控制台执行了第三次调用,结果很好。
所以,我不确定我使用 php7 和 jQuery v1.12.4 的问题是什么。在谷歌浏览器中
【问题讨论】:
-
我觉得不错。 php日志中的对象与javascript中的对象相同。在 JS 中它看起来像是一个内部有 3 个对象的对象,但所有的数据都在那里。
-
查看开发者工具/网络/找到您的第三个 ajax 调用/查看响应选项卡。在那里您将看到收到的原始数据。检查这些数据是否正确。
-
@Karl 感谢您查看我的问题,但如果您看到,php pk_tema:4 和 cantidad:3 和 JavaScript 中的信息更改是pk_tema:4 和 cantidad:4 .
-
@bigless 收到的数据没问题。所以问题过去了,我不确定这个变量发生了什么。因为我将来不会使用。但你是对的,问题过去了,并没有影响到我。
-
@alfonsovelasco3622 第一个请求中的“.val()”是什么?如果您可以为此使用 async.waterfall() 会很酷。
标签: javascript jquery asynchronous call