![](/img/trans.png)
[英]Using Ajax/XMLhttprequest to send data to a php file with mail function
[英]Send data to a php function using .ajax
我知道使用$ .ajax将数据发送到php文件是这样的:
$.ajax({
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
inside that file. 我想知道的是,是否可以在该文件中的特定上发送数据。 如果是的话,你能告诉我怎么样吗? 谢谢。
像这样创建你的some.php PHP文件:
<?php
foo($_POST);
function foo($postData) {
// Process the data
var_dump($postData);
}
上面的代码将立即传递发布到给定函数'foo'的数据。
你可以通过以下代码来做到这一点。 再添加一个参数到你的ajax调用,比如file_name = your_function_name,例如这里我发送ajax请求作为你的数据与function_name = getResult,它将调用php文件中的getResult函数。
$.ajax({
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston", function_name: "getResult"}
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
<?php
$function_name = $_POST['function_name']
switch($function_name){
case $function_name:
getResult();
break;
case $function_name:
updateFunction();
break
}
?>
当您有更多案例时,switch语句是优化的方式。
你没有,但你可以在url:someurl.php?function = MyFunction中添加一个查询字符串,并使用$ _GET ['function']找出应该处理请求的函数。
是的,为此你必须检查你必须打电话给哪个功能。 此外,不需要在函数内部传递POST
参数,因为$_POST
是superglobal array
您可以在函数内访问它们而不传递参数。
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston", func : 'add' }
在some.php
if(isset($_POST['func']) && $_POST['func'] == 'add') {
// call function here and pass parameter
func_add();
}
在你的ajax中添加一个动作参数:
$.ajax({
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston", action: "action1" }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
并在您的PHP文件中:
<?php
if($_POST['action'] == action1) {
action1(); //Do the function named "action1"
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.