如何通过Ajax调用PHP脚本中的特定函数?

时间:2011-06-16 12:33:15

标签: php jquery ajax

假设我有一个名为functions.php的文件,它里面有两个独立的函数:

一个人会得到时间

另一个会得到日期

我将如何使用JQuery AJAX从检索日期的函数中检索数据。如何在JQuery代码中指定要选择的服务器上的哪个函数。

我希望我有意义。感谢。

5 个答案:

答案 0 :(得分:9)

您可以在ajax请求数据中包含一个选择器。例如:

$.ajax({
    url: "functions.php",
    data: "function=time", // or function=date if you want date
    ...
});

然后在PHP代码中,一个简单的if语句将检查输出哪一个。

if(isset($_GET['function'])) {
    if($_GET['function'] == 'time') {
        // do time stuff
    } elseif($_GET['function'] == 'date') {
        // do date stuff
    }
}

答案 1 :(得分:5)

你没有在jQuery中指定在PHP中执行什么函数。您所做的是请求文档,可能使用查询字符串,并阅读结果。您的functions.php脚本负责执行请求的任何内容。

因此,您可能来自一个地方的jQuery请求functions.php?fn=time而另一个地方的functions.php?fn=date。然后,在functions.php中,您将检查查询字符串并为请求的内容执行适当的函数,并将结果返回给jQuery。

答案 2 :(得分:5)

$(document).ready(function()
{
    $(".link").click(function()
    {
        var data['func'] = "time";
        var url  = functions.php
        $.get(url, data, function(result)
        {
            $("#feedback").html(result);
        });
    });
});

那么你的php文件就是,

if(isset($_GET['func']))
{
    if($_GET['func'] == "time")
    {
        showTime();
    }
    else
    {
        showDate();
    }
}

function showTime()
{
    //show time
}

function showDate()
{
    //show date
}

代码未经测试,但对您来说应该是一个很好的起点。

答案 3 :(得分:1)

您可以在网址中添加参数:

示例:

function.php?g=1

现在,在服务器端检查get参数:

if($_GET['g']==1)
{
    echo date();
}
else
{
    echo time();
}

答案 4 :(得分:1)

你得到的回应是什么?您将收到XML或其他格式的回复。如果您的回复是XML,请尝试使用此选项。

$.ajax({
        url:path,           
            data:{projectId:inpprojectId},
            dataType:"xml",
            success:function(data){
                $(data).find("CheckAmount").each(function(){
                    total = $(this).find("TotalAmount").text();
                    usdAmt = $(this).find("PettyCashAmount").text();    
                validateBudget(total,inp);                  
                });
            }       
    });