4

我进行了这个 AJAX 调用:

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 发送到控制器。

我不确定为什么会这样。

在这种情况下我需要做一些特别的事情吗?

4

1 回答 1

2

"Person": ""Jack""不起作用,因为第二个引号""Jack""是结束引号(两个引号组成一个字符串:“”)。因此 JSON 很糟糕,因此被视为null. 您可以通过以下两种方法之一修复它:

1)在 JSON 中从使用"更改为:''Person': '"Jack"'

2)使用转义在引号内使用引号:"Person": "\"Jack\""

于 2013-09-06T00:47:18.903 回答