0

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

我的主页.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

计算区域.php

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

我是 jquery 的新手,您的帮助非常有帮助。谢谢你!

4

4 回答 4

1

你可以做:

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

ps:您缺少.介于$和之间post

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

 echo json_encode($area);
于 2013-07-12T00:40:06.573 回答
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;
?>
于 2013-07-12T03:37:47.287 回答
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);
于 2013-07-12T01:07:28.950 回答
-1

类似于以下内容:

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

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

    new_variable = response;

});

虽然我认为您的 PHP 脚本还有更多内容,否则 $area 没有在任何地方定义。

于 2013-07-12T00:39:23.130 回答