【问题标题】:How to set the ajax success result value to PHP variable in same page如何在同一页面中将 ajax 成功结果值设置为 PHP 变量
【发布时间】:2017-10-13 05:46:38
【问题描述】:
 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= >>> id

【问题讨论】:

标签: php ajax variables


【解决方案1】:

简而言之,这是不可能的,像这样设置 ajax 响应到 php 变量,因为

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

那么你能做什么呢?

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

【讨论】:

    【解决方案2】:

    您可以通过将 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
    ?>
    

    【讨论】:

      【解决方案3】:

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

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

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

      <?php echo $variablephp; ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-10
        相关资源
        最近更新 更多