在 ajax 调用之前转义 JSON 字符串中的字符
Escape characters in JSON string before ajax call
>我有一个JSON字符串
var str = '{'+
'"name": "John Doe",'+
'"company": [{"name": "ABC Corp"}, {"name": "XYZ Corp"}],'+
'"salary": "$200000"'+
'}';
我使 ajax 调用为
$.ajax({
url: 'url',
type: 'POST',
context: document.body,
dataType: 'json',
data: str,
success: function(data){},
error: function(error){}
});
如何在进行 ajax 调用之前转义 JSON 数组中的双引号。
str
已经是有效的JSON(根据JSONLint),因此在通过$.ajax
发送之前,您无需转义任何内容。
看起来你走错了路 - JSON.stringify
用于将 JSON 对象转换为字符串,你想要的方法就是 JSON.parse
.
因此,将其更改为:
$.ajax({
url: 'url',
type: 'POST',
context: document.body,
dataType: 'json',
data: JSON.parse(str),
success: function(data){},
error: function(error){}
});
您还可以将格式化为 JSON 的字符串传递给 $.ajax,并且由于您的字符串已经是有效的 JSON,您可以完全跳过该步骤:
$.ajax({
url: 'url',
type: 'POST',
context: document.body,
dataType: 'json',
data: str,
success: function(data){},
error: function(error){}
});
尽管您可以将其构建为一个对象,如果这更容易(通常比尝试格式化字符串!
var postData = {
name:'John Doe'
... etc
};
$.ajax({
url: 'url',
type: 'POST',
context: document.body,
dataType: 'json',
data: postData,
success: function(data){},
error: function(error){}
});
相关文章:
- 如何将字符串拆分为字符,但在javascript中保留空格
- 如何显示字符串中最多 200 个字符
- 我想在Javascript中探索类似C语言的字符串的整个字符
- 如何用jquery替换字符串中可能变化的字符
- 通过跳过拆分字符在 javascript 中拆分字符串
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 字符串替换-不支持格式字符'}'
- 到UpperCase字符串Javascript中的特定字符索引
- 用类javascript包装span标记中字符串中的字符索引
- 将字符串分组为n个字符的块,并应用替换
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- 如何从键Code;中获取字符串/字符值;
- 检查值是否包含字符串字符
- JavaScript字符串字符操作
- 如果数组中的字符串不匹配,请从字符串中删除字符串字符
- Javascript Lingo游戏-字符串字符等于另一个字符串字符
- jQuery替换字符串字符的方法
- Javascript字符串字符检查
- Javascript替换字符串字符
- Javascript的变化与重复(组合)缺失的字符串字符