我正在尝试从位置href链接获取值,并且能够通过jquery获取位置href链接并且我使用
var loc =$(location).attr('href');
使用这个我得到了值
localhost/example.com/buy.php?ev=product_search&type=sb&search=sony&cat=3
现在热门从这个链接获得类型,搜索和猫的价值?
例如
type=sb
search=sony
cat=3
我的完整代码
$("input:radio[name=type_radio]").click(function() {
var loc =$(location).attr('href');
var value = $(this).val();
var type="condition";
alert(loc);
var dataString="value="+ value + "&type=" + type;
$('.srchcntntagn').css('display','block');
$('.by-product-list').addClass('opfxsc');
$.ajax({
type: "POST",
url: "modules/buy&sell/load_search.php",
data: dataString,
cache: false,
success: function(html){
$('.by-product-list').removeClass('opfxsc');
$('.by-product-list').html(html).fadeIn('slow');
$('.srchcntntagn').css('display','none');
}
});
});
答案 0 :(得分:3)
我通常使用此处的“gup”功能:http://www.netlobo.com/url_query_string_javascript.html
您只需将该功能添加到您的脚本中,然后执行以下操作:
var type = gup( 'type' );
这也消除了使用.attr('href')调用来获取URL的需要。
该功能本身是:
function gup( name )
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
return results[1];
}
答案 1 :(得分:1)
location.search
会为您提供网址的查询字符串(包括?)。
&
上的数组
var queries = location.search.substr(1).split('&');
如果您使用不是当前网址的字符串,请尝试:
var queries = some_url_string.split('?')[1].split('&');
要么会给你一个这样的数组:
['type=sb','search=sony','cat=3']
然后,您可以在=
上再次拆分每个元素以获取键/值对:
for(i=0;i<queries.length;i++) {
queries[i] = queries[i].split('=');
}
哪个会给你:
[['type','sb'],['search','sony'],['cat','3']]
或者,创建一个查询对象:
var queryObj = {};
for(i=0;i<queries.length;i++) {
var q = queries[i].split('=');
queryObj[q[0]] = q[1];
}
这会给你一个像这样的对象:
{
type: 'sb',
search: 'sony',
cat: '3'
}
但是,如果你真的需要个别变量,你可以这样做:
for(i=0;i<queries.length;i++) {
var q = queries[i].split('=');
window[q[0]] = q[1];
}
这将在全局范围内创建变量type
,search
和cat
。 但是,我不建议这样做,因为您可能会覆盖现有变量,具体取决于您要解析的查询字符串。
答案 2 :(得分:1)
快速而简单 -
&
对查询字符串进行另一次拆分。var url="localhost/example.com/buy.php?ev=product_search&type=sb&search=sony&cat=3";
var queryString = url.split('?')[1];
var variables = queryString.split('&');
var varObj = {};
$.each(variable,function(index,elem){
var valueKeyPair = elem.split('=');
varObj[valueKeyPair[0]] = valueKeyPair[1];
});
varObj
现在包含您需要的所有信息。
Object
cat: "3"
ev: "product_search"
search: "sony"
type: "sb"
例如,要访问cat
值,您只需使用varObj['cat']
。