我有一个网站。如果您尝试使用搜索框,则会出现服务器错误。由于某种原因,它无法正确连接到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”后出现新的控制台错误:
答案 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>