Javascript 仅firefox上的会话存储错误
我的代码在Chrome和Edge中运行良好,但在Firefox中出现以下错误: TypeError:对未实现接口存储的对象调用了“键”Javascript 仅firefox上的会话存储错误,javascript,jquery,firefox,session-storage,Javascript,Jquery,Firefox,Session Storage,我的代码在Chrome和Edge中运行良好,但在Firefox中出现以下错误: TypeError:对未实现接口存储的对象调用了“键” 您正试图在AJAX请求中传递整个sessionStorage对象。不要那样做。而是拔出所需的特定钥匙。大概是这样的: 函数goToNextStep(){ $.post(“../manager.php”{ 护墙板:{ foo:sessionStorage.getItem('foo'), bar:sessionStorage.getItem('bar') }, 行动
您正试图在AJAX请求中传递整个
sessionStorage
对象。不要那样做。而是拔出所需的特定钥匙。大概是这样的:
函数goToNextStep(){
$.post(“../manager.php”{
护墙板:{
foo:sessionStorage.getItem('foo'),
bar:sessionStorage.getItem('bar')
},
行动:“拯救”
},功能(回应){
如果(响应=“1”){
$.ajax({
键入:“获取”,
url:“../final.php”,
成功:功能(数据){
$('#content').html(数据);
}
});
}
});
}
我还建议您返回JSON而不是纯文本,因为后者可能会导致空格问题,从而导致意外结果。它的类型也更好,因此可以返回布尔状态标志,例如:
if (response.success) {
// your logic here...
}
我通过以下解决方法解决了这个问题:
function goToNextStep() {
$.post("../manager.php", {
dados: JSON.parse(JSON.stringify(localStorage)), // <----- change
action: "save"
}, function(response) {
if (response === "1") {
$.ajax({
type: "GET",
url: "../final.php",
success: function(data) {
$('#content').html(data);
}
});
}
});
}
函数goToNextStep(){
$.post(“../manager.php”{
dados:JSON.parse(JSON.stringify(localStorage))//
function goToNextStep() {
$.post("../manager.php", {
dados: JSON.parse(JSON.stringify(localStorage)), // <----- change
action: "save"
}, function(response) {
if (response === "1") {
$.ajax({
type: "GET",
url: "../final.php",
success: function(data) {
$('#content').html(data);
}
});
}
});
}