将数据从jquery传递/检索到php函数
实际上,我已经阅读了我的问题的所有相关答案,但我需要一个关于如何正确实现下面代码的清晰简单的示例 myHome.php jquery将数据从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
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获得的数据作为其参数来调用该函数。我得到了“出了问题”的输出……有什么我可能错过的吗?