我想要的只是在php脚本1中有.post javascript jquery lib代码。我希望php脚本1将表单提交发送到php脚本2,它将获取这些值并更新数据库。然后使用php脚本2,我想将一个变量发送回php脚本1,让它知道更新是否正常。
在php脚本1上我有一个名为success的变量我先给它分配一个零。然后运行.post代码,并期望将成功变量赋值为1。
在.post之后的php脚本1上的我有一个2个案例的开关如果成功是1那么我有一个字符串说“数据库更新得很好”。然后我有另一个案例,其中成功是0然后一个字符串说“抱歉尝试失败,请再试一次”。
将这些字符串分配给名为db_status的变量。
然后我在div中附加db_status。哪个显示该字符串消息。
我知道如何使用.post并从.post的回调中获取php文件中的html代码。
我只是想知道如何传回javascript或php变量。
答案 0 :(得分:1)
在PHP中只回显一个变量,即echo $ testVariable;并且$ testVariable的值为10,在你的jquery中执行此操作
$.ajax
({
type: "POST",
url: "order.php",
dataType: "json",
data: postData,
cache: false,
success: function(testVariable)
{
alert("Order Saved");
$('#assigned_id').html(testVariable);
}
});
assigned_id现在的值为10!
答案 1 :(得分:1)
你需要做的是找到php脚本1通过ajax发送帖子数据的方法..你可以这样做:
<?php
$variable = 0;
?>
<script type="text/javascript">
$(document).ready(function(){
$('#input').ready(function(){
$.post("phpscript2.php", {db_code: ""+ $(this).val() +""}, function(data){
if(parseInt(data) == 1){
$('.message').html('Database updated in good terms');
} else {
$('.message').html('Sorry the attempt was a fail.');
}
});
});
});
</script>
<input type="hidden" value="<?php echo $variable; ?>
<div class="message">Please wait while we process</div>
然后在PHP脚本2上你会得到:
<?php
$variable = $_POST['db_code'];
// Do some code with the posted data that is valued to 0...
$new_variable = 1;
echo $new_variable;
?>
这将在加载时提交隐藏的输入字段(php在jquery之前加载,因此隐藏字段将具有hte php变量的值)。它将使用$ .post以你想要的方式发送隐藏字段POST的值,并将php脚本2发送到PHP脚本1中的变量值。然后,您将处理发布的数据想要做到这一点。然后回显一个新的变量值,甚至可以只回显1,然后echo将返回到ajax,然后我们将解析返回的数据,这是1,但它被回显,所以它变成了一个字符串,我们需要解析它转换为整数,用if else语句检查它是否为1,执行此操作,否则执行此操作,将消息分类div设置为成功或失败消息。最棒的是隐藏的输入无法编辑,因为它发送了值post,就在浏览器加载时,客户端没有时间来编辑值。
无论如何都是理论。这个没有经过测试,而且在ajax场景中我还是比较新的。
希望我帮助过!
答案 2 :(得分:-1)
正如你所说,显示jQuery.post(...)结果的方法是使用回调中的构建。这样你就可以“传回... php变量”。请记住,PHP永远不能直接返回变量,它必须呈现为已完成的页面,或者如果您选择其他响应类型,则需要JSON结构,XML文档或任何适合您需要的格式。
如果你想返回一个javascript块,那么我认为你可以这样做:
$.ajax({
type: "GET",
url: "myphp1.php",
dataType: "script"
});
但您也可以使用dataType“html”:
jQuery docs:
如果指定了html,则任何嵌入的 检索到的数据中的JavaScript 在HTML之前执行 以字符串形式返回。同样的, 脚本将执行JavaScript 从服务器撤回, 然后返回脚本本身 文本数据。