javascript - $.ajax 是否替代 $(document).ready(function()?

标签 javascript php jquery ajax

我已经进行了彻底的搜索,但是我找不到关于我的假设的明确信息。我使用了以下代码:

<?php  
session_start();
if (isset($_SESSION['valid_user']) && $_SESSION['from']==1)
{
 ?>
    <script type="text/javascript"> 
        $.ajax({
        method:"POST",
        dataType: 'json',
        url:"user.php",
        success: function(newdata) {
             if (newdata == "nothing")
            {
               var temp1 ="no data!";
               $("#results_ribbon").text(temp1);              
               return;
            }
            var temp1 ="You have: ".concat(newdata);
            $("#results_ribbon").text(temp1); 
        }   
    });
  </script>       

这是 php 文件的一部分。构建 DOM 的 HTML 代码位于上述代码之后...

因此,我希望 id="results_ribbon"的 div 没有正确的内容,因为 #results_ribbon 尚不存在。然而,一切都很好。这让我假设 $.ajax 调用等待 DOM 加载后执行。我对吗?如果不是为什么会发生上述情况?

最佳答案

不,这不正确。实际的 Ajax 请求在您调用后立即启动。 但成功回调会在收到服务器响应后一段时间触发。 到那时,您已经将 #results_ribbon 加载到 DOM 中。

关于javascript - $.ajax 是否替代 $(document).ready(function()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30143542/

相关文章:

javascript - Framework 7 Webpack 构建错误超过最大值 "500KB"

javascript - OAuth 登录对第二台设备有效

PHP:关于甘特图的建议

jquery - 如何在 JQuery 日期选择器中显示隐藏的 <td>?

javascript - 初始化时数组 'glued'

javascript - 第三方库如何与 ES6 模块一起工作?

javascript - 带有 JSON 响应的 jQuery 帖子

php - ReplaceProcessor::process($tokenList) 的声明必须与 InsertProcessor::process($tokenList, $token_category = 'INSERT' ) 兼容

javascript - 遍历 json 列表时出现未定义错误

javascript - 如何根据高度 float 元素