Javascript 使用jquery从sessionStorage读取并发送到php时删除引号
在一个较长的过程中,我将在会话存储中存储不同的值。最后,我希望读取所有数据并使用ajax将其发送到我的php后端。问题是php似乎接受了包括引号在内的所有值。以下是我得到的:Javascript 使用jquery从sessionStorage读取并发送到php时删除引号,javascript,php,jquery,sessionstorage,Javascript,Php,Jquery,Sessionstorage,在一个较长的过程中,我将在会话存储中存储不同的值。最后,我希望读取所有数据并使用ajax将其发送到我的php后端。问题是php似乎接受了包括引号在内的所有值。以下是我得到的: // Reading data from storage var imgb = sessionStorage.getItem("img_b_id"); .... // perpare data var oData = { imgb: imgb, ... }; // Send
// 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屏幕截图)
你对如何解决这个问题有什么建议吗。我现在替换了引号,但我想从根本上解决这个问题…我已经尝试了你的代码(使用Firefox和Chrome)和
打印不带引号的字符串。
考虑到即使在会话存储中设置了一个数字,例如
sessionStorage.setItem("img_b_id", 100);
PHP在服务器上以字符串形式接收该值,因此可以使用PHP函数intval()、floatval()等对其进行转换
为什么不将数据存储/发送为JSON字符串?imgb:imbg应该是imgb:imgb吗?当然可以-在实际代码中sry imbg=imgb。我应该如何以及为什么将其作为json字符串发送?如前所述,实际数据更多,由许多重定向、页面链接等组成。我唯一的问题是引用
sessionStorage.setItem("img_b_id", 100);