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

将数据从jquery传递/检索到php函数,php,javascript,jquery,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

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

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新手,您的帮助非常有用。谢谢大家!

大致如下:

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

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

    new_variable = response;

});
尽管我认为您的PHP脚本还有更多内容,否则$area不会在任何地方定义。

您可以:

$.post(url,data,function(response){
   alert(response)
});
附注:您缺少
$
post
之间的

在php代码中,您可以这样做:

 echo json_encode($area);

你误解了post请求的使用。这将不会调用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);
做一个简单的测试

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;
?>


你是说
$.post
?同时检查一下问题,你是回复还是回应?你的computeArea函数在computeArea.phpah中是的..对不起。它应该是$.post。我想返回它,当它返回到myHome.php时,我将在我的其他函数中使用返回的值。您正在对computeArea.php执行post请求。在这个例子中,它必须回显/打印它的响应--$区域。我在php位上添加了
echo json_encode($val)
,因为使用just return不会得到任何客户端信息。OK,我尝试了这个,但我的页面只会重新加载。$.post()有问题,因为警报(“hello”)不会弹出。知道吗?这可能是因为您执行了表单提交序列化事件,如果不阻止该事件,将发出页面重新加载。好的,现在将显示弹出窗口,但响应为空。我甚至传递一个文本字符串只是为了检查它是否会返回值,但它没有。这里可能缺少什么?顺便说一下,关于$data,当我的php函数接收到它时,我如何将它转换为数组?您好,我这样做只是为了使它更简单..但是我真的需要发布值,因为php函数是第三方应用程序。如果是这样的话,然后,您可以使用将从$\u POST获得的数据作为其参数来调用该函数。我得到了“出了问题”的输出……有什么我可能错过的吗?