var JSONonj = {"name": "James","age":"25"};
var data = "This data i would like to retrieve and print in the main.html page after success call in ajax.";
$.ajax({
url: "/user",
type: "POST",
data: JSONobj,
dataType: "json",
success: function() {
window.location.href = "main.html";
},
contentType: "application/json"
});
这是合约。成功之后我想重定向到main.html,当我到达那里时,我想在那里检索和打印数据变量。
重定向工作正常。但我无法在那里收到数据。
答案 0 :(得分:7)
有两种主要方法可以实现这一目标:
使用浏览器的localStorage
:
success: function() {
localStorage.setItem('myMainKey', data);
window.location.href = "main.html";
}
// in main.html's javascript :
var data = localStorage.getItem('myMainKey');
if (data !== undefined) {
//do something
}
注意:如果您想存储和检索完整的javascript对象,则必须使用JSON.stringify()
/ JSON.parse()
来存储/检索它。
答案 1 :(得分:0)
您必须在查询字符串中发送该数据并使用javascript重新构建它。或者您必须使用该json数据POST到处理程序/控制器(谁知道您正在使用...)并重新构建它...如果您要更改将要发送数据的位置,则无论如何。
如果您使用的是HTML5,那么LeGEC建议本地存储将是一个不错的选择。
答案 2 :(得分:0)
如果您正在使用jQuery,可以应用此功能。
var redirect = 'http://www.example.com/';
$.redirectPost(redirect, {x: 'exemplo', y: '123'});
// jquery extend function
$.extend(
{
redirectPost: function(location, args)
{
var form = '';
$.each( args, function( key, value ) {
value = value.split('"').join('\"')
form += '<input type="hidden" name="'+key+'" value="'+value+'">';
});
$('<form action="' + location + '" method="POST">' + form + '</form>').appendTo($(document.body)).submit();
}
});
答案 3 :(得分:0)
你也可以这样做: -
#circle {
position: relative;
background-color: #09f;
width: 30px;
height: 30px;
border-radius: 200px;
}
.text-inner {
position: absolute;
top: 5px;
right: 3px;
color: #fff;
}
.text-outer {
position: absolute;
top: 5px;
right: -20px;
}
在main.html
<!DOCTYPE html>
<div id="circle">
<div class="text-inner">T</div>
<div class="text-outer">ext</div>
</div>