2016-07-21 1 views
1

У меня есть сервер 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) показывает:

Constructor Error Image

Для нахождения городов через форму я использовал виджет автозаполнения 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.

Я очень сильно обеспокоен тем, что, пытаясь отладить это, все дальше находится за пределами моего уровня знаний на данный момент ... Вся помощь будет оценена.

Спасибо!

ответ

0

sdepold, который создал репозиторий https://github.com/sdepold/jquery.google-search#license, предупредил меня о том, что API Google в отношении этой функции поиска лишен, поэтому непригодным для использования таким образом.

Смежные вопросы