如何在同一页面中将ajax成功结果值设置为PHP变量

时间:2017-10-13 05:46:39

标签: php ajax variables

 function submitID(){

 // some codes working in here....

var text="A_1";                 
var name="test";

$.ajax({
    url: 'callmethod.php',
    type: 'post',
    data: {'action':'methodname', 'text': text, 'name':name},
            success: function(data, status) {
            var results = JSON.parse(data);

            for(var i = 0; i < results.length; i++){
                var id= results[i]['ID'];
                alert(id);  --- I got the value of ID in here -- example output value : Hello                                                                       
            }
        },
        error: function(xhr, desc, err) {
            console.log(xhr);
            console.log("Details: " + desc + "\nError:" + err);
        }
    });
}

我想在这里做什么,我得到了var id的值,但我想设置为PHP变量$ valuephp =&gt;&gt;&gt; id &lt;&lt;&lt;我怎么能这样做?请帮我指点一下。

4 个答案:

答案 0 :(得分:1)

简而言之,它不可能,就像设置ajax响应php变量一样,因为

PHP运行 - 页面加载前的服务器端并构建页面
JS(以及AJAX)运行 - 客户端在服务器为浏览器提供页面之后

那么你能做什么?

  • 您使用ajax调用将数据发布到服务器,因此在服务器端,您可以设置php变量。如果以后需要,可以将其存储在会话变量中,或者存储在数据库中。

答案 1 :(得分:0)

您可以通过将ajax结果div嵌入到php标记中来将ajax结果存储在php变量中。

将ajax响应变量分配给js变量,然后将其分配给包含php变量的html div:

$('#result').text('test');


<?php
 $result='<div id="result"></div>';
// Here you embed div in php tag and store in php varible
?>

答案 2 :(得分:0)

在你的ajax调用中,成功或错误之后

<?php   $variablephp = "<script>document.write(111)</script>"   ?> 

现在您可以访问该变量,确保在ajax调用之后实际使用该变量

<?php echo $variablephp; ?>

答案 3 :(得分:-1)

不可能,但你需要狡猾,简单的技巧就是在PHP标签中编写JS代码。