我正在尝试使用自动完成搜索来处理我的小应用,但出于某种原因,我无法使用“查询”这个词。
当我使用此代码时,
$.param({movieName: $('form#autocomplete-remote input[name=search]').val()
});
},
我得到的网址http://api.themoviedb.org/3/search/movie?api_key=a8f7039633f2065942xx8a28d7cadad4&movieName=movie给出了404
要使用url,我必须用查询替换movieName这个词,但是当我这样做时,我收到此错误Uncaught TypeError: Cannot read property 'query' of undefined
。
任何人都可以解释为什么我不能使用查询这个词吗?
//编辑。我忘记了我的部分代码,
.resultsView.collection.parse = function(resp) {
return resp.results.moviematches.movieName;
};
//编辑。让我只粘贴我的整个代码
%form#autocomplete-remote
%input{:autocomplete => "off", :name => "search", :style => "width: 200px", :id => "movieName"}/
:javascript
autocompleteRemote = new Backbone.AutocompleteList({
url: function() {
return 'http://api.themoviedb.org/3/search/movie?api_key=' + api + '&' +
$.param({query: $('form#autocomplete-remote input[name=search]').val()})
},
filter: null,
el: $('form#autocomplete-remote input[name=search]'),
template: _.template(
'<p><%= name.replace(new RegExp("(" + $("form#autocomplete-remote input[name=search]").val() + ")", "i") ,"<b>$1</b>") %></p>'
),
delay: 500,
minLength: 3,
value: function(model) { return model.get('name') }
,
})
.resultsView.collection.parse = function(resp) {
return resp.results.moviematches.query;
};
var api = 'a8f7039633f2065942xx8a28d7cadad4'
在搞乱之后,我至少发现问题不在于这个词。因为我现在正在使用这个代码
:javascript
autocompleteRemote = new Backbone.AutocompleteList({
url: function() {
return 'http://api.themoviedb.org/3/search/movie?api_key=' + api + '&q' + $.param({uery: $('form#autocomplete-remote input[name=search]').val()})
},
filter: null,
el: $('form#autocomplete-remote input[name=search]'),
template: _.template(
'<p><%= name.replace(new RegExp("(" + $("form#autocomplete-remote input[name=search]").val() + ")", "i") ,"<b>$1</b>") %></p>'
),
delay: 500,
minLength: 3,
value: function(model) { return model.get('name') }
,
})
.resultsView.collection.parse = function(resp) {
return resp.results.moviematches.uery;
};
var api = 'a8f7039633f2065942xx8a28d7cadad4'
即使这会创建所需的网址,我也会收到错误Uncaught TypeError: Cannot read property 'uery' of undefined
。
答案 0 :(得分:0)
我认为你必须使用一对名称/值
$.param({name: "movieName", value: $('form#autocomplete-remote input[name=search]').val()
})
希望有所帮助