У меня есть сервер localhost на порту 3000, который я настраивал с помощью node.js и выражал для запуска локального сайта. Я совершенно новичок в кодировании в целом и изучил эти рамки только недавно, поэтому мне может не хватать принципиального понимания концепций, но я пришел в тупик после долгих поисков в Интернете.
Я хочу манипулировать данными из поисковых запросов Google, думал мой сайт, в частности, чтобы получить данные из имени города из формы, отправить его в поисковый поиск Google, а затем вернуть данные. Сейчас я только хочу console.log, возвращаемым данные, чтобы увидеть, что он говорит мне, и что я нашел хороший репозиторий:
https://github.com/sdepold/jquery.google-search#license
После загрузки ZIP, я попытался включить эти файлы в моем собственную папку иерархии, копирование файлов в мои собственные папки как таковые:
Я поместил jquery.google-search.min.js, jquery-1.7.2.min.js, jquery.google-search.spec.js, jquery.google-search.js и buster.js в папку js в разделе «public».
все это файлы, которые были в ZIP-архиве, который я разместил в своих папках, но некоторые другие файлы были такими, как «.travis.yml» или «package.json» или «compiler.jar», которые я не использовал, t копировать. У меня есть свой файл package.json, который содержит следующее:
{
"name": "myapp",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.15.1",
"cookie-parser": "~1.4.3",
"debug": "~2.2.0",
"nodemailer": "2.5.0",
"express": "~4.13.4",
"ejs": "~2.4.2",
"morgan": "~1.7.0",
"serve-favicon": "~2.3.0"
}
}
и package.json в jquery.google-поиска был:
{
"author": "Sascha Depold <[email protected]> (htp://depold.com)",
"name": "jquery.google-search",
"description": "Execute google searches within your client-side javascript.",
"version": "0.1.4",
"homepage": "https://github.com/sdepold/jquery.google-search",
"repository": {
"type": "git",
"url": "git://github.com/sdepold/jquery.google-search.git"
},
"dependencies": {},
"devDependencies": {
"jquery.skeleton": "~0.6.0",
"buster": "~0.6.2"
},
"optionalDependencies": {},
"engines": {
"node": "*"
},
"scripts": {
"test": "npm run minify && npm run buster-test",
"buster-test": "node_modules/.bin/buster-test",
"buster-capture": "(npm run buster-server &) && sleep 2 && npm run buster-capture-browser",
"minify": "java -jar dist/compiler.jar src/*.js --js_output_file=dist/jquery.`pwd|sed -e 's/.*jquery\\.//'`.min.js",
"buster-capture-browser": "type -P open &>/dev/null && open 'http://localhost:1111/capture' || firefox 'http://localhost:1111/capture'",
"buster-server": "node_modules/.bin/buster-server"
},
"main": "src/jquery.google-search.js"
}
Я не знаю, если я должен иметь скопировал другие файлы или сделал что-то с помощью json ... возможно, это даже не проблема. Существует также файл под названием «MIT-LICENSE», который я не уверен в необходимости ..?
В любом случае, как только я начинаю свой сервер и перейти к моей Localhost, и я пишу текст в форму, консоль (я имею Firefox) показывает:
Для нахождения городов через форму я использовал виджет автозаполнения geobytes.
Моего соответствующий код выглядит следующим образом:
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="js/jquery.google-search.js">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<!-- Autocomplete Cities -->
<script>
jQuery(function() {
var find;
function getCityDetails (cityname) { //this is a function I created
jQuery.getJSON(
"http://gd.geobytes.com/GetCityDetails?callback=?&fqcn="+cityname,
function searchGoogle (data) {
find = new $.GoogleSearch().search(city + " weather", {}, function(data) {
console.log(find);
})
}
);
}
jQuery("#f_elem_city").autocomplete({
source: function (request, response) {
jQuery.getJSON(
"http://gd.geobytes.com/AutoCompleteCity?callback=?&q="+request.term,
function (data) {
response(data);
}
);
},
minLength: 3,
select: function (event, ui) {
var selectedObj = ui.item;
jQuery("#f_elem_city").val(selectedObj.value);
getCityDetails(selectedObj.value); //this is a function I created
return false;
},
open: function() {
jQuery(this).removeClass("ui-corner-all").addClass("ui-corner-top");
},
close: function() {
jQuery(this).removeClass("ui-corner-top").addClass("ui-corner-all");
}
});
jQuery("#f_elem_city").autocomplete("option", "delay", 100);
});
</script>
Я предполагаю, что моя проблема в моем getCityDetails или функции searchGoogle, по своим параметрам или его размещению, что в некотором роде не соответствует порядку стеке или это своего рода закрытие, которое мешает мне делать то, что я хочу, но в целом вы можете видеть, что я скопировал код Google.Search из репозитория, поэтому не должно возникнуть проблемы с созданием этого объекта ...
Кроме того, поскольку ошибка указывает на jquery.min.js, и это миниатюрный файл, я не знаю, где лежит проблема, но, похоже, это rela для функции автозаполнения, а не для поиска в Google.
Я очень сильно обеспокоен тем, что, пытаясь отладить это, все дальше находится за пределами моего уровня знаний на данный момент ... Вся помощь будет оценена.
Спасибо!