通过Ajax将JavaScript函数传递给PHP文件

时间:2016-05-19 14:31:09

标签: javascript php jquery html ajax

我要做的是:

我正在制作一个旨在为用户提供选择的脚本,并根据他们做出的选择,提出新的选择。我为此制作了两个脚本,一个用于我的HTML和我的页面结构,一个用于我的PHP(从我的服务器获取信息)和JavaScript(构建生成的选项)。

然后我使用AJAX在这两个脚本之间进行通信,或者至少是我正在尝试做的事情,但是当涉及到AJAX并且我无法使其工作时,我是非常新的。

当我按下其中一个按钮时,我试图通过或以某种方式从我的页面启动功能' generateProblems' ,最好使用 param&#39 ; ID'

这是我的index.html的一部分:

bin

这是我的PHP / Javascript:

            <div id="testpile" class="inner cover">
                <div id="buttons">
                    <p><a id="rat" class="btn btn-default" role="button">Rationel</a></p>
                    <p><a id="emo" class="btn btn-default" role="button">Emotionel</a></p>
                    <p><a id="per" class="btn btn-default" role="button">Personel</a></p>
                </div>
            </div>

            <div id="testdrop" class="mastfoot">
                <p>Drop numbers here</p>
            </div>

<script type="text/javascript">
    $("#buttons").find(".btn").click(function() {
        var id = this.id;
        $("#testpile").load("include/responseget.php");
        $.post("include/responseget.php", {
            choice: "id",
        });
    });

</script>

我做错了什么?在我拆分它之前,代码工作得很好,但是现在单击其中一个按钮不会产生任何效果。

1 个答案:

答案 0 :(得分:1)

这不是正确的方法。保持你的PHP远离html / js。您无法从另一个未直接包含在其中的脚本中访问您的html。

  1. 将您的javascript部分重新添加到index.html
  2. 在你的php脚本中返回 最后的内容,如return json_encode($rTitle_array);
  3. 在你的 jquery / ajax post,获取返回值并使用它
  4. 来自jquery doc的示例:

      var posting = $.post( url, { s: term } );
    
      // Put the results in a div
      posting.done(function( data ) {
        var content = $( data ).find( "#content" );
        $( "#result" ).empty().append( content );
      });