繁体   English   中英

使用.ajax将数据发送到php函数

[英]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参数,因为$_POSTsuperglobal 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM