1

我有一个简单的 ajax 调用,它正在加载一个 php 页面。我正在使用 chart.js 来构建基于动态 MySQL 数据的条形图。

如果我直接浏览到此页面,它工作正常。但是,如果我使用以下代码加载页面,页面上的数据会加载,但图表不会。

我用来调用 ajaxtest.php 页面的脚本位于 index.php 页面中:

    <script>
                function getProduct(str) {
                    if (str == "") {
                        document.getElementById("txtHint").innerHTML = "";
                        return;
                    } else { 
                        if (window.XMLHttpRequest) {
                            // code for IE7+, Firefox, Chrome, Opera, Safari
                            xmlhttp = new XMLHttpRequest();
                        } else {
                            // code for IE6, IE5
                            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        xmlhttp.onreadystatechange = function() {
                            if (this.readyState == 4 && this.status == 200) {
                                document.getElementById("loader").innerHTML = ''; // Hide the image after the response from the server
                                document.getElementById("txtHint").innerHTML = this.responseText;

                            }
                        };
                        document.getElementById("loader").innerHTML = '<img src="imgs/loader.gif" />'; // Set here the image before sending request
                        xmlhttp.open("GET","ajaxTest.php?prod="+str,true);
                        xmlhttp.send();

                    }
                }
                </script>

在这个文件中,我在 head 部分加载了 bootstrap.css。在页面底部,我正在加载 jquery.js、bootstrap.js 和一些 customs.js 文件(按此顺序)。如果我从 index.php 页面中删除这些,则没有任何区别,并且图表仍然无法加载。

在 ajaxtest.php 页面上,我还让它在相同的位置调用相同的文件。

我认为这可能是我的问题,所以当我从 index.php 页面中删除它们时,它仍然无法加载。

我很困惑为什么在通过 ajax 调用它时它不会加载,但当我直接点击它时它会加载。我在萤火虫/开发人员工具中看不到任何错误。

任何想法都将不胜感激。

4

0 回答 0