我想执行重定向,但我也想发送其他信息。
我试图更改window.location.href
的值,但似乎没有传递额外信息。
我也得到了我的能力
$.get(
new_url,
{data : "mydata"},
function(data) {
alert('page content: ' + data);
}
);
这将显示新页面的html内容,但这对实际到达那里没有帮助。 我怎样才能做到这一点?
编辑:我觉得好像我必须严厉地说这个,因为我很确定这是一个简单/常见的任务。这不应该是需要cookie的东西 - 它应该基本上像一个帖子请求(我认为)。
答案 0 :(得分:0)
您可以使用window open方法重定向您的用户,并记住使用“_self”
window.open('url','_self');
答案 1 :(得分:0)
最好将数据存储在localStorage中,然后回退到Cookie(我非常喜欢js-cookie)。
以下是存储和检索数据所需的两个辅助函数:
function setMultiPageData(itemName, data) {
var dataStr = JSON.stringify(data);
var hasLocalStorage = typeof localStorage !== 'undefined';
if (hasLocalStorage) {
localStorage.setItem(itemName, dataStr);
}
else {
Cookies.set(itemName, dataStr, { path: '/' }); // path set to root to make cookie available on any page
}
}
function getMultiPageData(itemName) {
var data = null;
var hasLocalStorage = typeof localStorage !== 'undefined';
if (hasLocalStorage) {
data = localStorage.getItem(itemName);
}
if (!hasLocalStorage || data === null) {
data = Cookies.get(itemName);
}
var parsedObject = null;
try {
parsedObject = JSON.parse(data);
}
catch (ex) {
console.log(ex); // remove in production
}
return parsedObject;
}
用法:
var data = { first: 'this is the first thing', second: 'this is the second thing' };
setMultiPageData('stackoverflow-test', data);
// go to a new page
var retrievedData = getMultiPageData('stackoverflow-test');
if (retrievedData === null) {
console.log('something went wrong')
}
else {
console.log(retrievedData); // { first: 'this is the first thing', second: 'this is the second thing' }
}
答案 2 :(得分:0)
你有几个不同的选择:
window.location.href
一起使用;例如:window.location.href = "http://www.google.com/search?q=javascript+url+variables&ie=UTF-8"
(将Google网址替换为您创建的或在变量中设置的网址。)