Jquery中的xmlhttp.responseText将完整的html代码作为输出

时间:2013-11-13 18:39:34

标签: php jquery

看看这段代码:

function nbHintsearch1(counter) {
    var xmlhttp;
    if (counter.length == 0) {
        document.getElementById("suggestion").innerHTML = "";
        return;
    }
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            $j(function () {
                var availableTags = [xmlhttp.responseText];

                function split(val) {
                    return val.split(/,\s*/);
                }

                function extractLast(term) {
                    return split(term).pop();
                }
                $j("#say")
                    .bind("keydown", function (event) {
                    if (event.keyCode === $j.ui.keyCode.TAB && $j(this).data("ui-autocomplete").menu.active) {
                        event.preventDefault();
                    }
                })
                    .autocomplete({
                    minLength: 0,
                    source: function (request, response) {
                        response($j.ui.autocomplete.filter(
                        availableTags, extractLast(request.term)));
                    },
                    focus: function () {
                        return false;
                    },
                    select: function (event, ui) {
                        var terms = split(this.value);
                        terms.pop();
                        terms.push(ui.item.value);
                        terms.push("");
                        this.value = terms.join(", ");
                        return false;
                    }
                });
            });


        }
    }
    xmlhttp.open("GET", "msgto.php?msg=" + counter, true);
    xmlhttp.send();
}

在上面的代码中,我试图在文本框中输出一些类型的文字框中的值。在这里,它从名为msgto.php的页面获取数据,但它将整个数据作为单个值提供为完整的html代码。

任何人都可以告诉我如何将availableTags变量的值作为字符串获取。

msgto.php看起来像这样:

<?php
$find=$_GET['msg'];$find = strtoupper($find); $find = strip_tags($find);
$find = trim($find);
include 'db.php'; 
$result = mysql_query("SELECT * FROM users WHERE upper(fname) LIKE'%$find%'  or       upper(lname) LIKE'%$find%'");
while($row=mysql_fetch_array($result))
{$at="".$row['fname']." ".$row['lname']."";$js_array = json_encode($at);
echo "". $js_array . ",\n";}
?

&GT;

1 个答案:

答案 0 :(得分:0)

打开开发人员控制台(例如Chrome中的F12),然后在“网络”标签中查看真实的http请求是什么样的。也许PHP脚本位于与浏览器预期不同的服务器目录中,并且服务器配置为在这种情况下返回默认页面?