如何从ajax调用php函数?
我熟悉如何让ajax转到php页面并执行一系列事情,然后返回json数据。但是,是否可以调用驻留在给定页面中的特定函数?
基本上,我想要的是减少项目中的文件数量。因此,我可以将许多常见函数放在一个页面中,然后调用我目前想要的任何函数。
我熟悉如何让ajax转到php页面并执行一系列事情,然后返回json数据。但是,是否可以调用驻留在给定页面中的特定函数?
基本上,我想要的是减少项目中的文件数量。因此,我可以将许多常见函数放在一个页面中,然后调用我目前想要的任何函数。
对于 AJAX 请求
在网页中包含 jQuery 库。例如:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
调用函数 on 按钮单击
<button type="button" onclick="create()">Click Me</button>
单击按钮时,在JavaScript中调用create函数。
<script>
function create () {
$.ajax({
url:"test.php", //the page containing php script
type: "post", //request type,
dataType: 'json',
data: {registration: "success", name: "xyz", email: "abc@gmail.com"},
success:function(result){
console.log(result.abc);
}
});
}
</script>
在服务器端测试.php文件,应读取操作POST参数和相应的值,并在PHP中执行操作并以JSON格式返回,例如
$registration = $_POST['registration'];
$name= $_POST['name'];
$email= $_POST['email'];
if ($registration == "success"){
// some action goes here under php
echo json_encode(array("abc"=>'successfuly registered'));
}
您不能直接从 AJAX 请求调用 PHP 函数,但您可以改为执行以下操作:
<? php
function test($data){
return $data+1;
}
if (isset($_POST['callFunc1'])) {
echo test($_POST['callFunc1']);
}
?>
<script>
$.ajax({
url: 'myFunctions.php',
type: 'post',
data: { "callFunc1": "1"},
success: function(response) { console.log(response); }
});
</script>