Возможно, вы используете какую-то библиотеку jQuery. но если его загрузка и инициализация вашей переменной правильно. и вы получаете все остальное имущество, тогда это небольшая проблема. Давайте обсудим возможный случай и разберемся с проблемой
var ta = $.typeahead({
input: '.super',
minLength: 0,
maxItem: 15,
order: "asc",
hint: true,
href: "",
searchOnFocus: true,
display: ["name"],
template: "{{name}}",
source: {
"SearchResults": {
//ajax: {
// url: "/search/" + id,
// path: ""
//}
}
},
callback: {
onClickAfter: function (node, a, item, event) {
event.preventDefault;
debugger;
}
},
debug: true
});
, когда вы назначаете что-либо в переменную "ta", возможно, вы получаете все свойство. но вы получаете сообщение об ошибке «Невозможно установить свойство« URL »из неопределенного». Таким образом, четко упоминается свойство, которое вы пытаетесь использовать, это URL. логически это должно быть ajax свойство, но ajax само не определено в вашей переменной. Поэтому вы должны сначала определить ajax.
var ta = $.typeahead({
input: '.super',
minLength: 0,
maxItem: 15,
order: "asc",
hint: true,
href: "",
searchOnFocus: true,
display: ["name"],
template: "{{name}}",
source: {
"SearchResults": {
ajax: { // now ajax is defined and you will not get any error.
}
}
},
callback: {
onClickAfter: function (node, a, item, event) {
event.preventDefault;
debugger;
}
},
debug: true
});
Всегда проверяйте, что переменная JSON определена ранее, вы можете определить свойство позже.
например
var a={}
a.b.c=10
console.log(a.b.c)// you will get same error.
но если вы используете что-то вроде ниже.
a.b={}
a.b.c=10
console.log(a.b.c)// you will not get an error.
надеюсь, это поможет вам.