从 sessionStorage 读取并使用 jquery 发送到 php 时删除引号
Remove quotes when reading from sessionStorage and sending to php using jquery
我在较长的过程中将不同的值存储在 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 with 引号的值。示例:
echo $_POST['imgb'];
/* Returns "asd" instead of asd
下图显示我的数据是在没有引号的情况下存储的(chrome sessionstorage 截图)
你对如何解决这个问题有什么建议吗?我目前替换了引号,但我想从根本上解决这个问题...
我试过你的代码(使用 Firefox 和 Chrome)和
echo $_POST['imgb'];
打印不带引号的字符串。
考虑一下即使你在会话存储中设置了一个数字,例如
sessionStorage.setItem("img_b_id", 100);
该值由 PHP 在服务器上作为字符串接收,因此您可以使用 PHP 函数 intval()、floatval() 等对其进行转换
我在较长的过程中将不同的值存储在 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 with 引号的值。示例:
echo $_POST['imgb'];
/* Returns "asd" instead of asd
下图显示我的数据是在没有引号的情况下存储的(chrome sessionstorage 截图)
你对如何解决这个问题有什么建议吗?我目前替换了引号,但我想从根本上解决这个问题...
我试过你的代码(使用 Firefox 和 Chrome)和
echo $_POST['imgb'];
打印不带引号的字符串。 考虑一下即使你在会话存储中设置了一个数字,例如
sessionStorage.setItem("img_b_id", 100);
该值由 PHP 在服务器上作为字符串接收,因此您可以使用 PHP 函数 intval()、floatval() 等对其进行转换