javascript - 删除或转义双引号
问题描述
我正在尝试将项目存储在 localStorage 中;这是我的功能:
function AddToCart(varer) {
var users = JSON.parse(localStorage.getItem("users") || "[]");
users.push(varer);
console.log(varer);
localStorage.setItem("users", JSON.stringify(users));
}
结果将在应用程序选项卡下:
然后我尝试通过 localStorage 循环并将数据发送到控制器:
var holderHTML = '';
var params = "";
var seperator = "";
var info = JSON.parse(localStorage.getItem("users"));
for (var i = 0; i < info.length; i++) {
var Val = info[i];
var key = JSON.stringify(Val)
params += seperator + "items=" + key;
seperator = "&";
}
$.ajax({
type: "GET",
url: "/User/serializeItemsLine",
data: params,
dataType: 'json',
success: function (values) {
console.log(values);
}
})
但我试图发送的数据包含双引号(解码 %22),因此我的操作无法检索数据:
Request URL: http://localhost:xxxx/User/serializeItemsLine?items=%22ae90ac1a-64c4-49a7-b588-ae6b69a37d47%22&items=%223e58aa74-4585-4bee-b2e0-ed39a1d95442%22
查询字符串参数:
items: "ae90ac1a-64c4-49a7-b588-ae6b69a37d47"
items: "3e58aa74-4585-4bee-b2e0-ed39a1d95442"
解码结果:
items: %22ae90ac1a-64c4-49a7-b588-ae6b69a37d47%22
items: %223e58aa74-4585-4bee-b2e0-ed39a1d95442%22
行动:
[HttpGet]
public string serializeItemsLine(Guid[] items) {
}
解决方案
尝试这样做:+ "items=" + Val
.
没有必要在这里打电话JSON.stringify()
。您的 API 不期望 JSON,因此您不应该提供 JSON。
推荐阅读
- hive - 蜂巢显示空值
- android - 从可点击的谷歌地图设置标记的标题
- css - css 在 vuejs 应用程序上加载速度不够快的问题
- artifactory - 从 jfrog CLI 发布构建信息以在 Artifactory 的树浏览器中更新 Used By 或 Produce By 信息
- python - [Python][Tornado] 是否可以在一个 python 程序中拥有多个不同端口和消息的 websocket?
- spring - Spring:无法获取此流程的模型
- java - 两个 observables 指向同一个引用
- javascript - 角度全局函数
- marklogic - MarkLogic 中的汉字处理
- android - android中对话框中ListView的高度未根据ListView中的项目数设置;results in blank space when there are less number of options