Javascript (缺少)插入语
我正在修改BSN的Autosuggest脚本,以便它能够与codeigniter一起工作,唯一的问题是我似乎无法理解为什么它在括号中显示“missing”(缺失)。我说问题出在Javascript (缺少)插入语,javascript,jquery,Javascript,Jquery,我正在修改BSN的Autosuggest脚本,以便它能够与codeigniter一起工作,唯一的问题是我似乎无法理解为什么它在括号中显示“missing”(缺失)。我说问题出在其他方面 _b.AutoSuggest.prototype.setSuggestions = function (req, input) { if (input != this.fld.value) return false; this.aSug = []; if (this.oP.json) {
其他方面
_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);
};
\u b.AutoSuggest.prototype.setSuggestions=功能(请求,输入){
如果(输入!=this.fld.value)返回false;
this.aSug=[];
if(this.oP.json){
var jsondata=eval(“(“+req.responseText+”)”);
对于(var i=0;i
任何帮助都将不胜感激,我不太擅长JS,服务器的输出无效。查看返回的带有或的responseText。很可能是有什么东西被注入了不应该存在的反应中
另外,如果您正在使用jQuery,请将代码更改为使用其ajax方法。
eval
==evil。请确保进行调试,例如提醒代码被eval
ed。@Jacob:eval
在适当的情况下是完全正确的。没有必要每次在代码中出现邪恶警报时都发出警报。返回的代码可能有一个错位的“')。我在旅行中发现jQuery有一个JSON解析器。您应该完全使用它,因为它会在JSON中给您带来语法错误。jQuery.parseJSONvar jsondata=eval('('+req.responseText+'))代码>有语法错误,因此它告诉我。。。。