【发布时间】:2017-11-20 10:54:03
【问题描述】:
看完本帖 jQuery Ajax Request inside Ajax Request
大家好,我需要对这种情况进行解释。 我刚刚在编写我的开发团队前成员的代码,发现他在其他 ajax 调用中进行异步 ajax 调用的代码的许多部分。
我的问题是:谁能解释这种做法的优缺点以及它是好还是坏?
下面是代码示例:
// first ajax (starting ajax call)
$.ajax({
url: "script1.php",
type: "POST",
data: {paramFisrtAjax: "first-ajax"},
success: function(response) {
alert(response);
}
});
script1.php
<script>
// second ajax
$.ajax({
url: "script2.php",
type: "POST",
data: {paramFirstAjax: "<?= $_POST['paramFisrtAjax'] ?>", paramSecondAjax: "second-ajax"},
success: function(response) {
alert(response);
}
});
</script>
<?php
// some operations on database server
echo "page2 operations with param: paramFirstAjax-> {$_POST['paramFirstAjax']}";
?>
script2.php
<?php
// some operations on database server
echo "page3 operations with params: firstParam -> {$_POST['paramFisrtAjax']} and secondParam-> {$_POST['paramSecondAjax']}";
?>
有些东西告诉我这不是一件好事,因为我认为正确的方法是使用回调函数success。
像这样:jquery nested ajax calls formatting
【问题讨论】:
-
那要看情况,是不是第二个ajax调用取决于第一个的结论?
-
这里有两个 jQuery Ajax 调用,但没有上下文。没有设置变量,回调中没有代码。没有上下文就无法回答这个问题。
-
如果他没有使用“成功”,那么他究竟是如何在另一个 ajax 调用“内”做到这一点的呢?是否使用基于 promise 的替代语法(例如“.done()2 方法?)。您还没有展示这两个调用是如何嵌套的。只有两个几乎相同的代码示例脱离上下文显示。不知道实际的、真实的代码是如何组合在一起的,这真的不可能回答。
-
我把代码删掉了,现在我指定参数
-
Stack Overflow 不是为了收集人的意见。请提出一个可以回答的问题,而不是民意调查。 help center
标签: javascript php jquery ajax