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

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

有人会得到时间

另一个会得到约会

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

我希望我有意义。 谢谢。

您可以在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 } } 
 $(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 } 

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

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

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

你可以在url中添加一个参数:

例:

 function.php?g=1 

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

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

你得到的回应是什么? 您将以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); }); } });