我想要的是在php script1中有.post javascript jquery lib代码。我希望php脚本1将表单提交发送到php脚本2,该脚本将获取这些值并更新数据库。然后,对于php脚本2,我想向php脚本1发送一个变量,让它知道更新进行得好不好。
在php脚本1中,我有一个名为success的变量,我首先给它赋值为0。然后运行.post代码,并期望将success变量指定为1。
在php脚本1中,在.post之后,我有一个开关,有两个案例,一个如果成功是1,那么我有一个字符串说“数据库更新在良好的条件”。然后我有另一个例子,成功是0,然后一个字符串说“对不起,尝试失败,请再试一次”。
这些字符串被分配给一个名为db_status的变量。
因此,我在div中添加了db_status。它会显示该字符串消息。
我知道如何在.post的回调函数中使用.post并从php文件中获取html代码。
我只想知道如何传回javascript或php变量。
发布于 2010-11-25 12:15:21
在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!
发布于 2011-11-19 02:48:20
您需要做的是找到一种方法,让php脚本1通过ajax发送post数据。可以通过执行以下操作来完成此操作:
<?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脚本1中变量的值发送给php script 2。然后,您将以您想要的方式处理发布的数据。然后回显一个新的变量值,甚至可以回显1,然后回显将返回给ajax,我们将在那里解析返回的数据,它是1,但它被回显,所以它变成了一个字符串,我们需要将其解析为一个整数,使用if else语句检查它,如果是1,执行此操作,否则执行此操作,设置带有成功或失败消息的类为div的消息。最棒的是,隐藏的输入不能被编辑,因为它发送了值post,当浏览器加载时,客户端没有时间编辑值。
不管怎么说,这就是理论。这还没有经过测试,我在ajax领域还是个新手。
希望我能帮上忙!
发布于 2010-11-25 12:27:05
正如您所说,显示jQuery.post结果的方法(...)在回调中使用build。这样你就可以随时“传回... php变量”。请记住,PHP永远不能直接返回变量,必须将其呈现到完成的页面中,或者如果您选择另一种响应类型,如JSON结构、XML文档或任何适合您需要的格式。
如果你想返回一个javascript代码块,我想你可以这样做:
$.ajax({
type: "GET",
url: "myphp1.php",
dataType: "script"
});
但是你也可以使用dataType "html":
jQuery文档:
如果指定了html,则在将
作为字符串返回之前,将执行检索到的数据中的任何嵌入的JavaScript。类似地,脚本将执行从服务器拉回的JavaScript,然后将脚本本身作为文本数据返回。
https://stackoverflow.com/questions/4276895
复制相似问题