我收到输出,如果我“警告”一些文本,我没有收到任何o / p使用ajax与javascript和jquery

时间:2010-03-17 08:11:11

标签: php javascript jquery ajax

我的应用程序中收到了不同类型的错误。

在我的项目中,大部分功能都在ajax中。现在我的问题是,如果我“警告”我收到输出的东西。否则我不是。我完全对这个问题感到困惑,并且没有任何想法来解决它。

解决方案是什么?

任何答案都会有所帮助和感激......

提前致谢

1 个答案:

答案 0 :(得分:1)

AJAX中的Thr A是“异步”的简写,这意味着呼叫不遵循普通的时间流程。

我的意思是,说你有这个代码

 alert(1);
 some_function();
 alert(2);

在javascript中,您希望系统警报1,然后运行some_function()并等待它返回一些内容,并且只有在完成后,您才会看到警报2。

但是如果some_function()是ajax,你得到警报1,然后警告2,你可以在这两个警报之间以及第二个警报之后获得some_function()的结果,因为ajax调用异常, js不会等待它的反应。

考虑到这一点,让我们回到你的问题。

你说,除非你发出警告,否则你得不到结果。如果你发出警告,javascript会停止,直到用户点击“确定”,但是ajax不会。因此,这将产生时间延迟,并且在此时间延迟期间,ajax可能完成运行并返回结果。

你的错误是,我只是猜测,因为你没有提供任何代码,你连续运行两个ajax调用,后者依赖于前者。

var x = some_ajax_function();
var y = some_other_function(x);

这不会工作(可能),因为在分配x的值之前调用第二个函数。但是如果你在它们之间放置一个警报,你会得到结果,因为ajax调用会返回一个结果并在时间延迟中分配x。

所以,你需要的是,你可以重新设计你的逻辑,或者你可以在第一个ajax调用的成功阶段调用第二个函数。

这样的东西
function some_ajax_function()
{
    ....
    //ajax success state
    var x = ajax_result;
    some_other_function(x);
}

我希望这会有所帮助