Я пытаюсь использовать функцию автозаполнения Framework 7 с помощью API поиска youtube v3. Я использовал поиск api для автозаполнения с использованием JQuery UI. В Framework 7 также есть функция автозаполнения Ajax. Но мой код не работает с Framework 7.Youtube search autocomplete не работает с Framework 7
Вот моего YOUTUBE Автозаполнение поиска код расслоения плотной Jquery UI, который работает на 100% и показывает вверх видео поиск предложения по вводу текста
//code for auto complete using jquery UI works perfect
jQuery("#vid-search").autocomplete({
source: function(request, response) {
//console.log(request.term);
var sqValue = [];
jQuery.ajax({
type: "POST",
url: "http://suggestqueries.google.com/complete/search?hl=en&ds=yt&client=youtube&hjson=t&cp=1",
dataType: 'jsonp',
data: jQuery.extend({
q: request.term
}, { }),
success: function(data){
console.log(data[1]);
obj = data[1];
jQuery.each(obj, function(key, value) {
sqValue.push(value[0]);
});
response(sqValue);
}
});
},
select: function(event, ui) {
setTimeout(function() {
youtubeApiCall();
}, 300);
}
});
А вот мой YouTube поиск автозавершения кода с каркасом 7, неужели это огорчило показать поиска видео предложения по текстовой inpute ..
var autocompleteDropdownAjax = myApp.autocomplete({
input: '#autocomplete-dropdown-ajax',
openIn: 'dropdown',
preloader: true, //enable preloader
valueProperty: 'id', //object's "value" property name
textProperty: 'name', //object's "text" property name
limit: 20, //limit to 20 results
dropdownPlaceholderText: 'Try "JavaScript"',
expandInput: true, // expand input
source: function (autocomplete, query, request, response, render) {
var results = [];
if (query.length === 0) {
render(sqValue);
return;
}
// Show Preloader
autocomplete.showPreloader();
// Do Ajax request to Autocomplete data
$$.ajax({
type: "POST",
url: "http://suggestqueries.google.com/complete/search?hl=en&ds=yt&client=youtube&hjson=t&cp=1",
dataType: 'jsonp',
data: jQuery.extend({
q: request.term
}, { }),
success: function (data) {
// Find matched items
console.log(data[1]);
obj = data[1];
jQuery.each(obj, function(key, value) {
sqValue.push(value[0]);
});
response(sqValue);
// Hide Preoloader
autocomplete.hidePreloader();
// Render items by passing array with result items
render(sqValue);
}
});
},
select: function(event, ui) {
setTimeout(function() {
youtubeApiCall();
}, 300);
}
});
Его не работает .. Вот что я в соответствии с вашим ответом: [https://codepen.io/gourabxz/pen/PbQJQq](https://codepen.io/go urabxz/pen/PbQJQq) –
Если вы проверите консоль ошибок: «Заблокирована загрузка смешанного активного содержимого», это потому, что codepen использует HTTPS, а файл, который вы вызываете, находится по ссылке HTTP, теперь, после изменения json-ссылки на HTTPS, вы получит еще одно общее сообщение об ошибке безопасности: «Cross-Origin Request Blocked», который является еще одной проблемой для исправления ошибок, но для обработки запроса вам понадобится пользовательский размещенный php-файл: https://codepen.io/anon/pen/WoMXEz – tinyCoder
Содержимое файла php, которое я использовал: ' php header ('Access-Control-Allow-Origin: *'); echo file_get_contents ("http://suggestqueries.google.com/complete/search?client=firefox&ds=yt&q=". Urlencode ($ _ REQUEST ['q'])); ?> ' – tinyCoder