Javascript 获取jQuery中的url参数不起作用
这是页面的链接: localhost/basket/newstext.html?url= 当页面加载时,我试图提醒url,以便知道它在一个变量中。但事实并非如此。我发现很多方法都不适合我。我不明白为什么!!!我的html页面:Javascript 获取jQuery中的url参数不起作用,javascript,jquery,html,jquery-mobile,Javascript,Jquery,Html,Jquery Mobile,这是页面的链接: localhost/basket/newstext.html?url= 当页面加载时,我试图提醒url,以便知道它在一个变量中。但事实并非如此。我发现很多方法都不适合我。我不明白为什么!!!我的html页面: <head> <script src="js/newstext.js"></script> </head> <body> <div data-role="page" id="newstext"> &l
<head>
<script src="js/newstext.js"></script>
</head>
<body>
<div data-role="page" id="newstext">
</div>
</body>
js脚本:
$('#newstext').bind('pageshow', function(event) {
var url = getUrlVars()["url"];
alert (url);
});
function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
$('#newstext').bind('pageshow',函数(事件){
var url=getUrlVars()[“url”];
警报(url);
});
函数getUrlVars(){
var vars=[],散列;
var hashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&');
for(var i=0;i
我非常想得到答案…请帮忙
更新:这是js脚本,它在第一页上附加了链接和文章:
var serviceURL = "http://localhost/basket/services/";
var news;
$('#mainNews').bind('pageinit', function(event) {
getNews();
});
function getNews() {
$.getJSON(serviceURL + 'getmainnews.php', function(data) {
$('#fnews li').remove();
mainnews = data.items;
$.each(mainnews, function(index, mnews) {
$('#fnews').append('<li data-icon="false"><a style="white-space:normal;" href="newstext.html?url=http://www.basket-planet.com' + mnews.link + '">' + mnews.article + '</a></li>');
});
$('#fnews').listview('refresh');
});
}
var serviceURL=”http://localhost/basket/services/";
var新闻;
$('#mainNews').bind('pageinit',函数(事件){
获取新闻();
});
函数getNews(){
$.getJSON(serviceURL+'getmainnews.php',函数(数据){
$('fnews li')。删除();
mainnews=data.items;
$.each(主要新闻、功能(索引、MNEW){
$(“#fnews”).append(“”);
});
$('fnews')。列表视图('refresh');
});
}
如果您只想使用Javascript获取当前URL,这是最简单的方法
<html>
<body>
<script>alert(window.location);</script>
</body>
</html>
警报(窗口、位置);
一周后我遇到了这个问题,下面是我所做的
试试这个:
function GetURLParameter(sParam)
{
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++)
{
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == sParam)
{
return sParameterName[1];
}
}
}
多亏了
试试看:)我终于让它开始工作了。从看到页面转换是如何处理的开始,我应该记得当我读到这篇文章时,jquerymobile通过AJAX处理一切。修复方法是添加$.mobile.ajaxEnabled=false;在第一个页面中,这样页面将像普通网页一样处理
如果有人可以添加到这一点,并告诉我如何在启用AJAX的情况下实现这一点,那就太好了。但是,经过很多努力,这是我找到的唯一解决办法。谢谢大家的帮助 您用什么服务器端语言构建查询字符串?它需要URL编码。我测试了代码,效果很好。是否包括jQuery?您使用什么来获取要触发的
pageshow
事件?在上一页中,我从数据库(文章链接和文章文本)获取数据。我对一个PHP文件进行了.getJSON调用,并将结果附加到一个jQuery Mobile listview中。@Gajotres MAN!!!你之前在哪里???我明天会尝试你的答案,但从浏览来看,这看起来像是我需要的。OP不是在寻找页面的URL,而是一个带有键“URL”的querystring值。我看到了这个示例…我看到并尝试了几乎所有这些…都不起作用。请尝试在页面加载时调用GetURLParameter函数…或者在$(document)内部调用它。ready()或$(窗口)。加载();
var tech = GetURLParameter('technology');