php - 来自对 PHP 的 AJAX 调用的奇怪的 JavaScript 语法错误

标签 php javascript ajax

长期读者,第一次张贴。非常感谢任何帮助。

我使用 JavaScript 设计了一个 AJAX 查询。脚本工作正常,界面按我的要求运行,但 Firefox 给我一条与被命中的 PHP 文件相关的错误消息。这很奇怪,因为它似乎暗示 PHP 中存在语法错误,但这没有任何意义。这是错误:

错误:语法错误 源文件:http://www.mysite.com/includes/ajax.php?action=checkpsudo&value=fd 行:1,列:1 源代码: 是的

下面是 Javascript。有人可以帮帮我吗?谢谢。

var ajaxobject = createajaxobjectObject();

function createajaxobjectObject() {
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        ajaxobject = new XMLHttpRequest();
        if (ajaxobject.overrideMimeType) {
            // set type accordingly to anticipated content type
            ajaxobject.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            ajaxobject = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                ajaxobject = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!ajaxobject) {
        alrt('Cannot create XMLHTTP instance');
        return false;
    }
    return ajaxobject; 
}

function checkpsudo(value) {    

    if (value == "") {
        document.getElementById('feedback').innerHTML = "Please select a psudonym";
        document.getElementById('feedback').className = "fail";
        document.getElementById('done').disabled=true;  
    } else {
        ajaxobject.onreadystatechange = function() { check(); };              
        ajaxobject.open('GET', '/includes/ajax.php?action=checkpsudo&value='+value, true);
        ajaxobject.send(null);  
    }


}

function check() {
    if (ajaxobject.readyState == 4) {

        //IF WE GOT OUR CHAT XML BACK CORRECTLY
        if (ajaxobject.status == 200) {             

            var response = ajaxobject.responseText;

            var value = document.getElementById('psudoentry').value;

            if(response=='no') {
                document.getElementById('feedback').innerHTML = "'" + value + "' is already being used";
                document.getElementById('feedback').className = "fail";
                document.getElementById('done').disabled=true;
            } else {
                document.getElementById('feedback').innerHTML = "'" + value + "' is available";
                document.getElementById('feedback').className = "success";
                document.getElementById('done').disabled=false;
            }                                          

        } else {
            alert('There was a problem with the request.');
        }
    }
}

最佳答案

我的第一直觉是,这不是您的 JS 的问题,而是 PHP 脚本输出的 XML 的问题。

关于php - 来自对 PHP 的 AJAX 调用的奇怪的 JavaScript 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2501397/

相关文章:

php在while循环中添加html元素

jquery - 通过ajax传递Blob生成文件

javascript - 用于显示实时消息控制台的 Django(Dajax/Jquery?)插件

javascript - 简单的 Ajax 自动完成示例,无法使用 PHP

javascript - 在 couchdb 上构建数据的最佳方法是什么?

javascript - 使用 jQuery 返回隐藏的 <td> 值

php - move_uploaded_file 和 is_uploaded_file 之间的区别

php - 我可以设置记录类型和记录类型数组 PHP 吗?

php - 关于使用 PHP 和 MySQL 创建社交网络的教程?

javascript - 删除高亮 JavaScript getSelection 函数