通过javascript获取查询,页面重新加载,url重写问题
我在我的一个项目中使用url重写,我希望能够通过javascript在“键入enter”事件中通过搜索框执行查询,获取此搜索框的值并通过GET请求将其传递到另一个搜索页面。最终的结果将是一个搜索地址a la twitter(即mysite.com/search/mykeyword)。我的代码如下:通过javascript获取查询,页面重新加载,url重写问题,javascript,string,url-rewriting,get,search-engine,Javascript,String,Url Rewriting,Get,Search Engine,我在我的一个项目中使用url重写,我希望能够通过javascript在“键入enter”事件中通过搜索框执行查询,获取此搜索框的值并通过GET请求将其传递到另一个搜索页面。最终的结果将是一个搜索地址a la twitter(即mysite.com/search/mykeyword)。我的代码如下: $("#search-box").keyup(function(event) { var code = (event.keyCode ? event.keyCode : event.w
$("#search-box").keyup(function(event) {
var code = (event.keyCode ? event.keyCode : event.which);
if (code == "13") { // ENTER
var q = $(this).val();
document.location.href = "/search/"+q;
}
});
2个问题:
var q=encodeURIComponent($(this.val())代码>
奇怪的即使它对url()进行了编码,也会抛出404错误。您将使用什么来执行搜索而不是url重写?我的搜索的url重写规则是:RewriteRule^search/([a-z]+)$/search.php?q=$1不带空格/特殊字符/大写,但不带任何空格/大写!我只想说/search/?query=test%20url。不仅没有理由在文本搜索中有一个固定的端点,这只会导致像谷歌这样的爬虫程序的URL错误。您的URL重写规则不够通用。试试这个:重写规则^search/(.*)/app/controllers/page/search/search.php?q=$1