0

我正在编写一个代码,其中数据库中的所有注释都在 AJAX 的帮助下得到回显。现在我有两个问题。

  1. 位置不工作。这是我打开 xmlHttpRequest 的代码。

    xmlHttp.open("GET", "location.href.split('/').pop();", true);
    

    当我检查状态 == 200 时,我得到“未找到”错误。但是当我使用我知道它在目录中的文件名时,它可以工作。我必须使用类似上面的东西,因为我在 url 中有一些设置变量,它们会生成唯一的页面。

  2. 评论没有回响。这是我的

PHP

<?php

$showcomment=mysql_query("SELECT * FROM `photosite`.`comments` WHERE `photo_id`='$photo_id'");
echo '<response>';
while($allcomments=mysql_fetch_array($showcomment)){

    echo '<div id="comment"></div>';
}
echo '</response>';
?>

Javascript

function process(){
    if(xmlHttp){
        try{
            xmlHttp.open("GET", "location.href.split('/').pop();", true);
            xmlHttp.onreadystatechange = handleServerResponse;
            xmlHttp.send(null);     
        }catch(e){
            alert( e.toString() );
        }
    }
}

function handleServerResponse(){
        comment = document.getElementById('comment');
        if(xmlHttp.readyState==4){
            if(xmlHttp.status==200){
                try {
                    comment.innerHTML += "'.$allcomments['firstname'].' '.$allcomments['surname'].' '.$allcomments['comment'].'<br>";
                }catch(e){
                    alert( e.toString() );
        } else {
            alert(xmlHttp.statusText );
            }
        }
    }
}

在 innerHTML 上,我所做的只是回显我在没有 AJAX 的情况下回显的内容。它显示在页面上,但原样。我如何让它识别它们是 PHP 变量?一旦它们在 PHP 页面上回显,它们不应该成为变量吗?

4

1 回答 1

1

删除 JavaScript 表达式周围的引号,否则只会得到一个字符串。也就是说,您是否尝试向当前页面发送 AJAX 请求?在这种情况下,就location.href可以了。

实际上,这可能是您所有问题的根源。

于 2013-03-08T02:58:20.030 回答