使用Ajax / Javascript从外部php页面获取函数

时间:2013-12-30 23:55:14

标签: javascript php ajax jquery

好的,所以我知道如何获取外部php文件并在单击按钮后显示它。但是现在我想尝试从那个php文件中选择某个函数,这可能吗?

这是我的 index.php

<script>
function loadXMLDoc()
{
var xmlhttp;
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("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("POST","test.php",true;
xmlhttp.send(null);
}
</script>

<button type="button" onclick="loadXMLDoc()">Load results</button>
<div id="myDiv"></div>

这是我的外部php页面。的 test.php的

<?php
function show() {
}
?>

<?php
function update() {
}
?>

<?php
function delete() {
}
?>

1 个答案:

答案 0 :(得分:1)

使用jQuery,您可以轻松解决问题。这将是ajax请求:

function DoRequest(){
    $.get('test.php', {'action': 'save'}, function(response){
        document.getElementById("myDiv").innerHTML = response;
    });
}

$.get会收到一些参数。第一个是请求的目标文件的URL,第二个是要发送到该文件的参数或数据,第三个是请求时将调用的回调(或只是函数)完成。

您的按钮:

<button type="button" onclick="DoRequest()">Load results</button>
<div id="myDiv"></div>

在您的php文件中,您将收到ajax请求的'action'参数:

<?php
    $action = $_GET['action'];

    switch($action){
       case 'save':
                   echo Save();
                   break;
       case 'update':
                   echo Update();
                   break;
       case 'delete':
                   echo Delete();
                   break;
    }

    function Save(){
       return "Save function.....";
    }

    function Update(){
       return "Update function.....";
    }

    function Delete(){
       return "Delete function.....";
    }

?>

我认为你可以解决你的问题。希望它适合你。