Ajax 包含值双引号的JSON字符串将作为NULL发送到控制器
我做这个AJAX调用:Ajax 包含值双引号的JSON字符串将作为NULL发送到控制器,ajax,Ajax,我做这个AJAX调用: function CreateProjectTree(sc) { debugger; $.ajax({ type: "POST", url: "../api/projects/SearchProjects", data: sc, contentType: "application/json; charset=utf-8", dataType: "json" }).don
function CreateProjectTree(sc)
{
debugger;
$.ajax({
type: "POST",
url: "../api/projects/SearchProjects",
data: sc,
contentType: "application/json; charset=utf-8",
dataType: "json"
}).done(function(data)
{
buildTree(data);
}).fail(function(jqXHR, status, error)
{
console.log("Error: " + error);
});
}
如果变量sc
没有任何值的双引号,(例如“Person”:“Jack”
),则该变量可以正常工作
但是,如果对象包含双引号,例如:“Person”:“Jack”
,则它会将对象作为NULL发送给控制器
我不知道为什么会这样
在这种情况下我需要做什么特殊的事情吗?“Person”:“Jack”
不起作用,因为“Jack”
上的第二个引号是结束引号(两个引号组成一个字符串:“”)。因此,JSON不好,因此被视为null
。您可以通过以下两种方法之一进行修复:
1) 在JSON中从使用“
改为使用”
:“Person”:“Jack”
2) 使用转义符在引号内使用引号:“Person”:“Jack\”