Php Jquery自动完成,url作为源JSON
我没有成功地使用jQuery autocomplete和url,我遵循了jQuery UI autocomplete和JSON from url,我更改了参数,将query改为t,将短语改为Title,但它不起作用。你能帮我吗Php Jquery自动完成,url作为源JSON,php,jquery,json,url,jquery-ui-autocomplete,Php,Jquery,Json,Url,Jquery Ui Autocomplete,我没有成功地使用jQuery autocomplete和url,我遵循了jQuery UI autocomplete和JSON from url,我更改了参数,将query改为t,将短语改为Title,但它不起作用。你能帮我吗 $("#tags").autocomplete({ source: function (request, response) { $.ajax({ url: "http://www.omdbapi.com/",
$("#tags").autocomplete({
source: function (request, response) {
$.ajax({
url: "http://www.omdbapi.com/",
data: { t: request.term },
success: function (data) {
var transformed = $.map(data, function (el) {
return {
label: el.Title,
id: el.Years
};
});
response(transformed);
},
error: function () {
response([]);
}
});
});
});
您不能直接使用它来填充列表。此OMDb服务为每个请求返回一项 在JSFIDLE尝试过这个
$( function() {
$( "#tags" ).autocomplete({
source: availableTags
});
$( "#tags" ).autocomplete({
source: function( request, response ) {
$.ajax( {
url: "//www.omdbapi.com/",
dataType: "jsonp",
data: {
t: request.term,
type: 'movie'
},
success: function( data ) {
alert(JSON.stringify(data));
// Handle 'no match' indicated by [ "" ] response
response( data.length === 1 && data[ 0 ].length === 0 ? [] : data );
}
} );
},
minLength: 2,
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.value + " aka " + ui.item.id :
"Nothing selected, input was " + this.value );
}
});
} );
您是否使用
s
在by Search
中通过Parameters
进行了尝试?因为您需要片名,但是t
只返回title
的一部影片。另外,写入console.log(数据);要查看是否返回了数据
已更新
但是有一个问题,当结果太大时,omdbapi.com返回错误消息,使用参数page
请尝试下面的代码
<html>
<head>
<script src='https://code.jquery.com/jquery-2.2.4.js'></script>
<script src='https://code.jquery.com/ui/1.12.0/jquery-ui.js'></script>
<link href="https://code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css" rel="stylesheet" media="screen" />
<script type='text/javascript'>
</script>
<script type="text/javascript">
$(document).ready(function(){
$("#tags").autocomplete({
source: function (request, response) {
$.ajax({
method: "GET",
dataType: "json",
url: "http://www.omdbapi.com/?s="+request.term,
success: function (data) {
console.log(data);
// data.Search uses because we have `title`s in {"Search":[{..
var transformed = $.map(data.Search, function (el) {
return {
label: el.Title,
id: el.Years
};
});
response(transformed);
},
error: function () {
response([]);
}
});
}
});
});
</script>
</head>
<body>
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags">
</div>
</body>
</html>
$(文档).ready(函数(){
$(“#标记”).autocomplete({
来源:功能(请求、响应){
$.ajax({
方法:“获取”,
数据类型:“json”,
url:“http://www.omdbapi.com/?s=“+request.term,
成功:功能(数据){
控制台日志(数据);
//data.Search之所以使用,是因为我们在{“Search”中有`title`s:[{。。
var transformed=$.map(data.Search,函数(el){
返回{
标签:el.Title,
id:el.年
};
});
反应(转化);
},
错误:函数(){
答复([]);
}
});
}
});
});
标签:
您是否在ajax中使用了选项方法:“POST”
和数据类型:“json”
?而且,您无法通过$\u POST[“t”]
捕获t
您可以编写一段代码吗?我尝试过,但不起作用。这是我简单测试的代码。那么,它起作用了吗?