我有一个php变量$ entrymode,当用户按下相应的添加或编辑按钮时,它将设置为addentry或editentry。
为了达到这个目的,我使用了$ .post方法,我将值发送到其他php页面,然后在那里设置变量。
现在直到这部分一切都很好。现在我想在我发送请求的页面中使用该变量
像
If ($entrymode == $addentry){
//do this
}else{
//do this
}
如何实现这一目标......
value = 'add'
$.post('entrymode.php', {value: value}, function(data){
$('#add_name1').html(data);
});
<?php
include_once('common.php');
global $flag;
if(isset($_POST['value']) ){
$flag= $_POST['value'];
}
switch($flag){
case "add":
$entrymode = $addentry;
break;
case "edit":
$entrymode = $editentry;
break;
}
echo $entrymode;
&GT?;
答案 0 :(得分:0)
就像MacBoonc所说的那样,你可以使用PHP发送变量_POST:
$myVar = $_POST['myVariable'];
然后你的事情。之后,您可以将var作为JSON响应发送:
exit(json_encode($myVar));
但是建议将数组作为JSON格式发送回您的页面,以便能够从您发布ajax的页面获取更多信息,例如成功或错误消息。 我就是这样做的:
var yourVar1 = "something";
var yourVar2 = "something";
var yourVar3 = "something";
var action = "your-script.php";
var form = {
'data1' : yourVar1,
'data2' : yourVar2,
'data3' : yourVar3
};
$.post(action, form, function(data){
if (data.status == "ok"){
var yourReturedVar = data.myVar;
}
},'json');
和你的php:
$myVar = $_POST['myVariable'];
$response = array();
$response['status'] = "error";
//do your thing here
//if iour code does what is supose to do then
$response['myVar'] = $myVar;
$response['status'] = "ok";
//send your data back as JSON
exit(json_encode($response));
请询问您是否需要更多详细信息。
答案 1 :(得分:0)
$.post('entrymode.php', {value: value}, function(data){
if(data == 'A') // you can't use php variable anymore
{
//do some stuff
}
elseif(data == 'E')
{
// do other stuff
}
});
您不能再使用PHP静态变量了,因为您的调用是异步的,所以它会在页面发送后发生。但你可以在页面的负载上应用它们,如
$.post('entrymode.php', {value: value}, function(data){
if(data == <?= $addentry ?>) // you can't use php variable anymore
{
//do some stuff
}
elseif(data == <?= $editentry ?>)
{
// do other stuff
}
});