从jquery传递/检索数据到php函数

时间:2013-07-12 00:35:52

标签: php javascript jquery

我实际上已经阅读了我的问题的所有相关答案,但我需要一个明确而简单的示例,说明如何在下面正确实现我的代码。

myHome.php

jquery的

var url = "computeArea.php";
var data = $('thisForm').serialize();
$.post(url,data,function(response)); // how do i get the area being returned from  
                                       computeArea function? i need to save the 
                                       return value to a javascript variable

computeArea.php

function computeArea ($data){ // do i need to parse $data to make it an array?
    return $area;
}

我对jquery很新,你的帮助很有帮助。谢谢!

4 个答案:

答案 0 :(得分:1)

你可以这样做:

$.post(url,data,function(response){
   alert(response)
});

ps:您错过了.$之间的post

在你的PHP代码中,你可以这样做:

 echo json_encode($area);

答案 1 :(得分:0)

您误解了帖子请求的使用。这不会调用computeArea.php中的computeArea函数并将数据作为参数传递:

var data = $('thisForm').serialize();
$.post(url,data,function(response));

您可以为computeArea.php执行此操作:

$data = $_POST['watever_you_are_serializing'];
// Do computations, etc.
$area = 123; // Contains computed area
echo $area;  // Or json_encode($area);

如果需要从computeArea.php调用该函数,则可以为$ .post请求创建一个新文件(例如computeArea2.php),并从那里包含computeArea.php。它会是这样的:

include 'computeArea.php';
$data = $_POST['watever_you_are_serializing'];
echo computeArea($data);

答案 2 :(得分:0)

做一个简单的测试。

jQuery的:

$.post("url/to/file.php",{variable_name: "hello"/*(we'll give this value to variable_name*/)},
  function(response){
    if(response>0)
       alert('Something went wrong');
    else
       alert(response);
});

现在,在服务器端:

<?php
 if(isset($_POST['variable_name']) && $_POST['variable_name']!=="")
  echo $_POST['variable_name'];
 else
  echo 1;
?>

答案 3 :(得分:-1)

有些事情:

var url  = "computeArea.php",
    data = $('thisForm').serialize(),
    new_variable;

$.post(url, data, function(response) {

    new_variable = response;

});

虽然我认为你的PHP脚本还有一些,否则$ area没有在任何地方定义。