让Google Site Search与我的网站合作

时间:2017-01-16 23:40:39

标签: php twitter-bootstrap search

我有一个网站。如果您尝试使用搜索框,则会出现服务器错误。由于某种原因,它无法正确连接到Google Site Search,也不会将结果带到页面。在我将其上传到服务器之前,它至少把我带到了搜索结果页面,但之后只是给出了一个错误。我是新手自己设置这个Google Site Search并且我不明白我错过了什么让这个工作。

search.html:

<div id="cse" style="width: 100%;">Loading</div>

<script src="http://www.google.com/jsapi" type="text/javascript"> </script>
<script type="text/javascript">

  google.load('search', '1');
 google.setOnLoadCallback(function(){
  var customSearchControl = new       google.search.CustomSearchControl('xxxxxxxxxxxxxxxxxxx');
  customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
  customSearchControl.draw('cse');
$(".gsc-input").val("<?php echo $_POST['q']; ?>");//insert into  search field requested search text
$(".gsc-search-button").click();//call button click event, show   results
}, true);
</script>
<link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />

从index.html或主页搜索框代码:

 <form class="navbar-form navbar-right" action="search.html" method="post">
    <div class="form-group">
      <input type="text" name="q" class="form-control" placeholder="Search...">
    </div>
    <button type="submit" name="search" value="Search" class="btn btn-default">Submit</button>
  </form>

搜索并提交后,在实际网站上显示错误代码:

服务器错误

405 - 不允许使用用于访问此页面的HTTP动词。 无法显示您要查找的页面,因为使用了无效的方法(HTTP动词)来尝试访问。

控制台错误:

无法加载资源:服务器响应状态为405(方法不允许)

正确连接method =“get”后出现新的控制台错误:

enter image description here

1 个答案:

答案 0 :(得分:0)

我通过将search.html更改为search.php然后将其重新加载到服务器上来修复此问题。从某种意义上来说这很简单。代码如下,感谢所有帮助过我的人。

<form class="navbar-form navbar-right" action="search.php" method="get">
    <div class="form-group">
      <input type="text" name="q" class="form-control" placeholder="Search...">
    </div>
    <button type="submit" name="search" value="Search" class="btn btn-default">Submit</button>
</form>

<script type="text/javascript">

 google.load('jquery', '1');
 google.load('search', '1');
 google.setOnLoadCallback(function(){
 var customSearchControl = new google.search.CustomSearchControl('your-ID-here');
 customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.draw('cse');
$(".gsc-input").val("<?php echo $_GET['q']; ?>");//insert into search field requested search text
$(".gsc-search-button").click();//call button click event, show  results
}, true);

</script>