我想知道在ajax回调函数中创建ajax是一个好习惯(可以称为嵌套的ajax调用吗?)?无论如何,这是我的例子
ajax.js
$(document).ready(function() {
$('#button').click(function() {
var string = 'some string';
$.post('ajax-call.php',
{
string: string
}, function(result) {
if(result == 'success') {
// Second ajax call if result returned is success
$.post('second-ajax.php',
{
variable: 'Some Variable'
}, function(second_result) {
if(second_result == 'yes') {
// Do some thing when the second result returned 'yes'
} else {
// Alert error or something
}
});
} else {
// If first result is not success, show a message
}
});
});
});
所以基本上我有两个单独的php文件在不同的时间调用,如果第一个ajax调用返回'success'然后继续调用第二个ajax调用。或者我应该使用一个ajax调用,一个PHP脚本,并根据回调的结果决定做什么?以下示例。
ajax2.js
$(document).ready(function() {
$('#button').click(function() {
var string = 'some string';
$.post('ajax-call.php',
{
string: string
}, function(result) {
if(result == 'success') {
// Do something
} else if(result == 'unsuccessful') {
// If first result is not success, show a message
} else {
// Show error message
}
});
});
});
*注意:两个php脚本都是一个非常繁重的脚本,第一个脚本是用于验证ajax调用的代码,如果一切都经过正确验证,则继续第二个ajax调用将数据处理成数据库,依此类推。第一个例子将使脚本更清晰,更整洁,但我想知道使用嵌套的ajax是否是一个好习惯?
非常欢迎所有建议和意见。提前感谢您对此的启发。
答案 0 :(得分:0)
回答这个问题:
也许不是专注于问题本身,但我觉得奇怪的是只为一个真实动作(第二个)做两个服务器调用。
我要做的就是打一个电话。如果验证没有通过,则返回错误。如果它通过,则调用服务器端的其他php并向客户端返回vlid响应
服务器应该执行相同的工作,但是您可以保存从客户端到服务器的一个数据传输
这只是一个意见。我希望它对你有帮助。