我实际上已经阅读了我的问题的所有相关答案,但我需要一个明确而简单的示例,说明如何在下面正确实现我的代码。
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很新,你的帮助很有帮助。谢谢!
答案 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没有在任何地方定义。