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

时间:2018-05-28 13:33:50

标签: php jquery ajax

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

2 个答案:

答案 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
         }
    });