【问题标题】:How to call Ajax functions without onclick/onkeyup/onchange etc如何在没有 onclick/onkeyup/onchange 等的情况下调用 Ajax 函数
【发布时间】:2012-07-03 12:29:05
【问题描述】:

我正在尝试包含一个 .php 文件,该文件将通过从 MySQL 数据库中挑选问题为我生成一个表单。我找到了许多调用这个函数的方法,我用 1 个参数(页码)调用了 getQuestions()。我已经看到了将使用 onchange 或按钮(onclick)等执行我的 php 文件的下拉菜单。但是有没有办法在没有这些的情况下使用我的功能?我只是希望它自动加载页面的其余部分,而无需任何不必要的交互。

不知道这是否重要,但我的页面是用 jQuery Mobile 制作的,因此只有在正确的页面/div-id 处于活动状态时才能看到它。

function getQuestions(str)
    { 
    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 (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("page_1").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","generate_questions.php?p="+str,true);
    xmlhttp.send();
    }

这些是我试图用来在 HTML 的其余部分中查看 .php 的函数(没有成功)

<script type="text/javascript">
                    $(document).ready(function() {
                    getQuestions(1);
                    });
                    </script>


window.onload = function() {
                    $("#page_1").load(getQuestions(1));
                    }

window.onload = function() {
                    getQuestions(1);
                    }

【问题讨论】:

    标签: php jquery mysql ajax jqmobi


    【解决方案1】:

    您可以使用文档就绪事件来加载其余内容:

    $(document).ready(function() {
       // your code
     });
    

    【讨论】:

    • 标题中的内容对吗?但这是否意味着我无法真正控制我的 .php 将在页面/div-id 中的确切位置生成问题,还是我的 .php 文件需要自己生成整个页面?
    • @TomErikHøvring 该代码可以去任何有&lt;script&gt;标签有效的地方;它绑定到 DOM 就绪事件,因此在 DOM 就绪之前不会执行代码。不过,我对 jQuery mobile 的了解还不够多,无法给您更多建议。
    • 您可以将此代码放在页面上的任何位置:标题、正文或正文中的 div。只需用 块包围它。您将控制在 ajax 调用函数中放置内容的位置,是否已经有了?
    • 让它工作,但 .php 网站是唯一显示的东西,一直忽略该页面/div-id 的其他 html 代码,如标题和页脚等。似乎我必须生成.php 中的整个页面。仍然说我在 index.html#page_1 上,并且 css 可以工作,直到我刷新。不过感谢您的所有帮助,只需要继续努力直到它起作用:)
    • 你能告诉我们你的ajax函数吗?似乎它不是 ajax 或者您以不正确的方式处理结果
    【解决方案2】:

    您可以在 Window.onload or document.ready 活动中这样做。

    【讨论】:

      【解决方案3】:

      您好,您可以通过以下方式调用代码而无需单击或更改

      只需在脚本标签之间写下函数名,调用函数后创建该函数即可。

      【讨论】:

      • 我试过这个,但是它只会去.php站点并离开原始站点。除非我做错了:P
      【解决方案4】:

      似乎我通过将 php 代码分配给比原计划更小的 div 解决了我的问题。我不能将它分配给页面 id,而是分配给页面中较小的 div。奇怪的是,我似乎也不能在 php 代码中真正生成新的 div,所以这限制了它的使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-29
        • 1970-01-01
        • 1970-01-01
        • 2012-01-23
        相关资源
        最近更新 更多