【问题标题】:There is something wrong with my AJAX request我的 AJAX 请求有问题
【发布时间】:2020-09-07 20:18:46
【问题描述】:

我编写了以下代码,其中我有两个菜单项的引导导航,然后我有一些带有 ajax 请求的 javascript 代码:

 <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Test page</title>
    
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    </head>
        <body>
            <div class="container user-profile">
                <ul class="nav nav-tabs">
                    <li class="nav-item" id="p">
                        <a class="nav-link" href="#">Profile</a>
                    </li>
                    <li class="nav-item" id="edp">
                        <a class="nav-link" href="#">Edit profile</a>
                    </li>
                </ul>
    
                <span id="page_content"></span>
            </div>
        </body>
    </html>
    
    <script>
        $(document).ready(function(){
            function load_page_content(id) {
                $.ajax({
                    url: "fetch.php",
                    method: "POST",
                    data: {
                        id: id,
                    },
                    success: function(data) {
                        $('#page_content').html(data);
                    }
                })
            }
    
            $('.nav li').click(function(){
                var page_id = $(this).attr("id");
                load_page_content(page_id);
            })
        })
    </script>

有我的php代码:

 <?php
        if ( isset($_POST["id"]) ) {
            echo '<h1>Some content</h1>';
        }
 ?>

我单击菜单项,但没有任何反应。我的代码有什么问题?

【问题讨论】:

  • 你能检查一下JS控制台看看有没有错误吗?检查网络请求并查看是否正在发出请求?
  • 谢谢,我试试
  • 在控制台中我收到“ajax 不是函数”错误,但我不明白为什么。也许这可能与我正在使用的 jQuery 构建有关。
  • 嗯,这似乎是你的问题的根源,我会看看那里。乍一看,您的代码对我来说很好。
  • stackoverflow.com/questions/18271251/…。您还尝试将&lt;h1&gt; 标记放在&lt;span&gt; 标记内。我知道这可能是出于这个问题的目的,但是您不应该将任何块标签放在内联标签中。

标签: javascript php ajax


【解决方案1】:

起初:

你不应该在 .ready 事件声明中声明你的函数

将函数移到 .ready 事件之外并测试您的代码

最后:

你不应该在 html 标签之外声明你的脚本 当你想使用 .ready 事件时,你可以在标签中声明你的代码 但是当你不想使用它时,你应该在声明你的 html 标签后定义它们。现在你使用 .ready 事件。所以你应该把你的脚本移动到 head 标签中

【讨论】:

  • 我看不出有什么不同
  • 我编辑了我的帖子。再次检查。我希望你的问题得到解决!
猜你喜欢
  • 1970-01-01
  • 2011-05-01
  • 2016-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
  • 2014-07-22
相关资源
最近更新 更多