如何通过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=time
和functions.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); }); } });