【问题标题】:Store Ajax div content in a PHP variable将 Ajax div 内容存储在 PHP 变量中
【发布时间】:2014-10-15 15:31:44
【问题描述】:

我对变量有疑问。我有一个仅使用 Jquery 的网站,这意味着我使用 #p1#p02、...从一个页面导航到另一个页面。

我进行了一个 Ajax 调用,它打印了一个我需要的 ID,以便查看我的内容。这个 id 打印在一个 div 中。问题是当我将 div 存储在这样的变量中时:

    $variable="<div class='something'></div>"; 

我可以回显该变量,但不能使用它来进行查询。我知道这只是编程,但是如果我使用会话而不是由于使用#p01 而不是p1.php,身份根本不会从一个页面更新到另一个页面。

如果这对您有帮助,我还添加了 ajax.js 文件,以便为我提供建议。 ajax.js 文件向 Ajax_page.php 发送一个标识,然后我将这个 $_POST 变量存储在一个 SESSION 中,然后我在 Ajax_page.php 中回显这个变量。当我回显这个变量时,它也会打印在 Show_content_page.php 中的 div 中。我想要那个 div 的内容。我想使用这个 div 内容(身份)来进行我的 php 查询。就是这样。

有什么方法可以让$variable 有用吗?

这里是示例文件

Ajax_page.php

    <?php 
    session_start(); 
    if(!empty($_POST['show_an_anetoix'])  ){
        $_SESSION['anetoix_id']=$_POST['show_an_anetoix'];
    }  
    echo $_SESSION['anetoix_id'];
    ?>

Show_content_page.php

    <div id="p1" >
    <?php 
    $variable="<div class='something'></div>"; 
    echo $variable; //no problem
    function_test($variable); //problem
    ?>
    </div>

ajax.js

/* Pass data with changePage */
$(document).on("pageinit", "#p1", function () {
    $(document).on('click', '.anetoix_class', function(){   
            $.mobile.pageContainer.pagecontainer("change", "#p02", {
            stuff: this.id,
            transition: "flip"
            });
    });
});       

/* retrieve data and run function to add elements */
$(document).on("pagebeforechange", function (e, data) {
    if (data.toPage[0].id == "p02") {
        var stuff = data.options.stuff;   
        var data = {"show_an_anetoix": stuff,};

 $.ajax({
 type: "POST",  
 url: "../show_an_anetoix.php",
 data: data,
      success: function(response) 
      {$(".show_an_anetoix").html(response);}
    });            
 }
});

【问题讨论】:

  • 你想达到什么目的?
  • 如果我使用会话而不是页面之间的身份根本没有更新 - 你是在 Show_content_page.php 上声明 session_start(); 吗?
  • 请在您的问题中包含您的 AJAX 代码
  • 是的,我在两个页面中都有 session_start,但正如我所说,我根本不刷新页面。我使用#p1、#p2 从一页导航到另一页。只有当我重新加载页面时,会话才会生效。例如我有 p1 有一个 session_id="23" ,一切都很好。然后我使用 href="p2" 导航到具有 session_d="24" 的 p2 这是不可能的,因为我必须重新加载 p2 才能获得新的 id。
  • #verbumSapienti 我还添加了 ajax 代码..

标签: javascript php html css ajax


【解决方案1】:

不是 100% 确定您的意思。你在问,你能在 ajax 中使用 PHP 变量吗?如果是这样,我会这样做:

<script>

$ajax_variable = "<?php echo $php_variable; ?>";

</script>

【讨论】:

  • 不,我的意思是 div 包含一个身份,我不能使用它,因为它在一个 div 中。我想在 php 中使用它来进行查询,但似乎不可能
  • +1 欢迎来到 SO。请注意,为了避免引用问题,提及 JSON 编码/解码可能会很有用(想象一下,如果 $php_variable 在您的情况下是:&lt;div class="a"&gt;&lt;/div&gt; 会发生什么)。
  • 为什么要将
    代码存储在变量中?为什么不试试这个? $变量=“123”;回声“
    ”。 $变量。 "
    ";
  • 我的朋友我在我的 ajax 调用中使用 json。首先,在我将 $_POST 变量存储在会话中之后,我将 $_POST 变量来自 php 页面中的 ajax,因为我不想丢失它。然后我在 div 中打印会话变量,但问题开始了..
  • 啊,好吧...所以您需要在 PHP 变量中去除 HTML。这个怎么样:php.net/manual/en/function.strip-tags.php 所以.... $variable = strip_tags($variable);
猜你喜欢
相关资源
最近更新 更多
热门标签