文章目录
1 页面跳转
location.replace("/search?q=" + keyword);
2 获取请求详细信息
let url = window.location.href;
let host = window.location.host;
let port = window.location.port;
let pathname = window.location.pathname;
let URL = document.URL;
let search1 = window.location.search;
let origin = window.location.origin;
let protocol = window.location.protocol;
console.log("-------------")
console.log(url)
console.log(host)
console.log(port)
console.log(pathname)
console.log(URL)
console.log(search1)
console.log(origin)
console.log(protocol)
3 获取携带参数
函数
function getSearchString(key, Url) {
var str = Url;
str = str.substring(1, str.length);
var arr = str.split("&");
var obj = new Object();
for (var i = 0; i < arr.length; i++) {
var tmp_arr = arr[i].split("=");
obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]);
}
return obj[key];
}
调用
let search = window.location.search;
let q = getSearchString('q', search);
console.log(q)
$("#keyword").val(q)
参考地址:
https://blog.csdn.net/Neil_clip/article/details/120972562
<p><h3>文章目录</h3><ul><ul><li><a href="#1__1">1 页面跳转</a></li><li><a href="#2__5">2 获取请求详细信息</a></li><li><a href="#3__28">3 获取携带参数</a></li></ul></ul></p>
<h2><a id="1__1"></a>1 页面跳转</h2>
<pre><div class="hljs"><code class="lang-javascript">location.<span class="hljs-title function_">replace</span>(<span class="hljs-string">"/search?q="</span> + keyword);
</code></div></pre>
<h2><a id="2__5"></a>2 获取请求详细信息</h2>
<pre><div class="hljs"><code class="lang-javascript"><span class="hljs-keyword">let</span> url = <span class="hljs-variable language_">window</span>.<span class="hljs-property">location</span>.<span class="hljs-property">href</span>; <span class="hljs-comment">//获取当前窗口的Url; 结果:http://127.0.0.1:8081/search?q=Python</span>
<span class="hljs-keyword">let</span> host = <span class="hljs-variable language_">window</span>.<span class="hljs-property">location</span>.<span class="hljs-property">host</span>;<span class="hljs-comment">//获取当前窗口的主机名; 结果:127.0.0.1:8081</span>
<span class="hljs-keyword">let</span> port = <span class="hljs-variable language_">window</span>.<span class="hljs-property">location</span>.<span class="hljs-property">port</span>; <span class="hljs-comment">//获取当前窗口的端口; 结果:8081</span>
<span class="hljs-keyword">let</span> pathname = <span class="hljs-variable language_">window</span>.<span class="hljs-property">location</span>.<span class="hljs-property">pathname</span>;<span class="hljs-comment">//获取当前窗口的路径 ; 结果:/search</span>
<span class="hljs-keyword">let</span> <span class="hljs-variable constant_">URL</span> = <span class="hljs-variable language_">document</span>.<span class="hljs-property">URL</span>;<span class="hljs-comment">//获取当前文档的Url;结果:http://127.0.0.1:8081/search?q=Python</span>
<span class="hljs-keyword">let</span> search1 = <span class="hljs-variable language_">window</span>.<span class="hljs-property">location</span>.<span class="hljs-property">search</span>;<span class="hljs-comment">//获取参数;结果:?q=Python</span>
<span class="hljs-keyword">let</span> origin = <span class="hljs-variable language_">window</span>.<span class="hljs-property">location</span>.<span class="hljs-property">origin</span>;<span class="hljs-comment">//获取来源地址;结果:http://127.0.0.1:8081</span>
<span class="hljs-keyword">let</span> protocol = <span class="hljs-variable language_">window</span>.<span class="hljs-property">location</span>.<span class="hljs-property">protocol</span>;<span class="hljs-comment">//获取协议;结果:http:</span>
<span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(<span class="hljs-string">"-------------"</span>)
<span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(url)
<span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(host)
<span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(port)
<span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(pathname)
<span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(<span class="hljs-variable constant_">URL</span>)
<span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(search1)
<span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(origin)
<span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(protocol)
</code></div></pre>
<h2><a id="3__28"></a>3 获取携带参数</h2>
<p>函数</p>
<pre><div class="hljs"><code class="lang-javascript"><span class="hljs-comment">//key(需要检索的键) url(传入的需要分割的url地址,例:?id=2&age=18)</span>
<span class="hljs-keyword">function</span> <span class="hljs-title function_">getSearchString</span>(<span class="hljs-params">key, Url</span>) {
<span class="hljs-keyword">var</span> str = <span class="hljs-title class_">Url</span>;
str = str.<span class="hljs-title function_">substring</span>(<span class="hljs-number">1</span>, str.<span class="hljs-property">length</span>); <span class="hljs-comment">// 获取URL中?之后的字符(去掉第一位的问号)</span>
<span class="hljs-comment">// 以&分隔字符串,获得类似name=xiaoli这样的元素数组</span>
<span class="hljs-keyword">var</span> arr = str.<span class="hljs-title function_">split</span>(<span class="hljs-string">"&"</span>);
<span class="hljs-keyword">var</span> obj = <span class="hljs-keyword">new</span> <span class="hljs-title class_">Object</span>();
<span class="hljs-comment">// 将每一个数组元素以=分隔并赋给obj对象</span>
<span class="hljs-keyword">for</span> (<span class="hljs-keyword">var</span> i = <span class="hljs-number">0</span>; i < arr.<span class="hljs-property">length</span>; i++) {
<span class="hljs-keyword">var</span> tmp_arr = arr[i].<span class="hljs-title function_">split</span>(<span class="hljs-string">"="</span>);
obj[<span class="hljs-built_in">decodeURIComponent</span>(tmp_arr[<span class="hljs-number">0</span>])] = <span class="hljs-built_in">decodeURIComponent</span>(tmp_arr[<span class="hljs-number">1</span>]);
}
<span class="hljs-keyword">return</span> obj[key];
}
</code></div></pre>
<p>调用</p>
<pre><div class="hljs"><code class="lang-javascript"><span class="hljs-keyword">let</span> search = <span class="hljs-variable language_">window</span>.<span class="hljs-property">location</span>.<span class="hljs-property">search</span>;
<span class="hljs-keyword">let</span> q = <span class="hljs-title function_">getSearchString</span>(<span class="hljs-string">'q'</span>, search); <span class="hljs-comment">//结果:云原生</span>
<span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(q)
$(<span class="hljs-string">"#keyword"</span>).<span class="hljs-title function_">val</span>(q)
</code></div></pre>
<p>参考地址:<br />
https://blog.csdn.net/Neil_clip/article/details/120972562</p>
留言