Javascript 仅firefox上的会话存储错误

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') }, 行动

我的代码在Chrome和Edge中运行良好,但在Firefox中出现以下错误:

TypeError:对未实现接口存储的对象调用了“键”


您正试图在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);
        }
      });
    }
  });
}