dongtiran7769 2013-11-08 21:50
浏览 140
已采纳

使用ajax url来调用函数

Hopefully I can ask this correctly cuz I know what I want it to do but can't seem to find any answers from searching.

I have a func.php page where I have all my functions and I want ajax to use one function from that page.

func.php

function toptable()
{ 
  echo"something happens in here";
}

index.php

<?php include 'func.php'; ?>
<script type="text/javascript">
function check_username() {
  uname=document.getElementById("username").value;
  var params = "user_id="+uname;
  var url = "topoftable()";
  $.ajax({
      type: 'POST',
      url: url,
      dataType: 'html',
      data: params,
      beforeSend: function() {
        document.getElementById("right").innerHTML= 'checking'  ;
      },
      complete: function() {

      },
      success: function(html) {
        document.getElementById("right").innerHTML= html ;
      }
  });

}

</script>

Make sense?

  • 写回答

3条回答 默认 最新

  • dongwen3093 2013-11-08 22:01
    关注

    It's not working like that.

    Your AJAX request should look something like this:

    $(document).ready(function() {
    
        //some even that will run ajax request - for example click on a button
    
        var uname = $('#username').val();
        $.ajax({
            type: 'POST',
            url: 'func.php', //this should be url to your PHP file
            dataType: 'html',
            data: {func: 'toptable', user_id: uname},
            beforeSend: function() {
                $('#right').html('checking');
            },
            complete: function() {},
            success: function(html) {
                $('#right').html(html);
            }
        });
    
    });
    

    And your func.php:

    function toptable()
    {
      echo 'something happens in here';
    }
    
    //here you can do some "routing"
    $func = $_POST['func']; //remember to escape it
    
    switch ($func) {
        case 'toptable':
            toptable();
            break;
        default:
            //function not found, error or something
            break;
    }
    

    Also check that I change document.getElementById to jQuery selector $('#...').

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站