括号中的“缺失”

时间:2010-12-30 03:48:06

标签: javascript jquery

我正在修改BSN的Autosuggest脚本,因此它可以与codeigniter一起工作,唯一的问题是我似乎无法弄清楚为什么它在括号中显示“缺失”,说问题在于else

_b.AutoSuggest.prototype.setSuggestions = function (req, input) {
    if (input != this.fld.value) return false;
    this.aSug = [];
    if (this.oP.json) {
        var jsondata = eval('(' + req.responseText + ')');
        for (var i = 0; i < jsondata.results.length; i++) {
            this.aSug.push({
                'id': jsondata.results[i].id,
                'value': jsondata.results[i].value,
                'info': jsondata.results[i].info
            });
        }
    } else {
        var xml = req.responseXML;
        // traverse xml
        //
        var results = xml.getElementsByTagName('results')[0].childNodes;
        for (var i = 0; i < results.length; i++) {
            if (results[i].hasChildNodes()) this.aSug.push({
                'id': results[i].getAttribute('id'),
                'value': results[i].childNodes[0].nodeValue,
                'info': results[i].getAttribute('info')
            });
        }
    }
    this.idAs = "as_" + this.fld.id;
    this.createList(this.aSug);
};

任何帮助都会受到赞赏,我不是很擅长JS

1 个答案:

答案 0 :(得分:2)

服务器的输出无效。查看使用FiddlerFirebug返回的responseText。很可能是注入响应的东西不应该存在。

此外,如果您使用的是jQuery,请更改代码以使用其ajax方法。