从sessionStorage读取并使用jquery发送到php时删除引号

时间:2015-04-24 14:48:34

标签: javascript php jquery sessionstorage

我在较长的过程中在sessionStorage中存储不同的值。最后我想读取所有数据并使用ajax将其发送到我的php后端。问题是php似乎采取包括引号在内的所有价值。这是我得到的:

// Reading data from storage
var imgb = sessionStorage.getItem("img_b_id");
....
// perpare data
var oData = {
            imgb: imgb,
            ...
};

// Sending data
$.post( "../php/direct/create.php", oData).done(function(data) {
    if(data==true) {
        window.open("step5.php", "_self");
    } else {
        alert("Error: " + data.toString()); 
    }
});

这工作得非常好。但是,php会读取带有引号的imbg 的值。例如:

echo $_POST['imgb'];
/* Returns "asd" instead of asd

下图显示我的数据存储时没有引号(chrome sessionstorage screenshot) enter image description here

您对如何解决此问题有任何建议吗?我目前正在替换引号,但我很乐意解决这个问题的根源......

1 个答案:

答案 0 :(得分:1)

我已尝试过您的代码(使用Firefox和Chrome)和

echo $_POST['imgb'];

不带引号打印字符串。 考虑即使您在会话存储中设置了一个数字,例如

sessionStorage.setItem("img_b_id", 100);

该值在服务器上由PHP作为字符串接收,因此您可以使用PHP函数intval(),floatval()等转换它。

http://php.net/manual/en/function.intval.php