繁体   English   中英

使用jQuery $ .post方法设置的php变量

[英]Use php variable set by jQuery $.post method

我有一个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;

?>

就像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));

请询问您是否需要更多详细信息。

$.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
         }
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM