【问题标题】:AJAX data returned is not correct返回的 AJAX 数据不正确
【发布时间】:2017-06-20 03:26:16
【问题描述】:

我有这个posts.php,它使用唯一的ID 来查看不同的内容。例如:posts.php?id=1 将显示我的表中所有 id 为 1 的数据,id = 2 表示 2 等等...

这个 id 保存在每个页面上的 php var $post_id 上,为了在我的 jquery/javascript 上发送这个 php 变量,我使用了:

<div id = "dummy_disp" style = "display: none;">
  <?php echo htmlspecialchars($post_id); ?>
</div>

<div id = "real_commentsno"></div>

(我知道,这不是最好的方法,但它确实有效)

它连接到我的 js:

var commentid = document.getElementById("dummy_disp");
      var commentidreal = commentid.textContent;

      $.ajax ({
        type:"GET",
        url:"php/post_comments.php",
        data:'comid='+commentidreal,
        success: function(data){
          $("#real_commentsno").html(data);
        }
      });

我有这个post_comments.php 它有:

$cc_g_postid = htmlentities($_GET['comid']);
$cc_postid = mysqli_real_escape_string($con,$cc_g_postid);


 $cc_sql  = "SELECT * FROM comments WHERE postuniqueid = '$cc_postid' ";
 $cc_result = mysqli_query($con,$cc_sql);

 $cc_count = mysqli_num_rows($cc_result);

  echo $cc_count;

当我尝试查看 post_comments.php 以及附加的 url 变量时:?comid=1 页面显示 2 这是正确的,因为我的桌子上的帖子 id=1 只有 2 个 cmets。但是当我转到我的posts.php 时,ajax 显示的是 0,而不是 2。我尝试查看控制台,没有错误。

我有什么遗漏或错误吗?此外,post_comments.php 位于mypage/php/post_comments.phpposts.php 位于mypage/posts.php (我不知道这是否是必要的信息,但可能是网址干扰了它或其他什么?)

【问题讨论】:

标签: javascript php jquery ajax


【解决方案1】:

问题在于 DIV 在 ID 号周围有换行符和空格。您需要删除所有这些空格。

  var commentidreal = commentid.textContent.trim();

【讨论】:

  • 非常感谢!这解决了它。我只是不明白为什么会有空格?如果我回显 php var,它根本不显示任何空格?
  • &lt;pre&gt;...&lt;/pre&gt; 块内回显变量,以便您可以看到所有格式。否则所有的空格都会被合并。
  • 有空格,因为&lt;div id = "dummy_disp" style = "display: none;"&gt; 后面有一个换行符,用&lt;?php echo 缩进该行,然后&lt;/div&gt; 之前有另一个换行符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
  • 2016-12-05
相关资源
最近更新 更多