Asp.net mvc 4 返回值类型时,JSON会导致ASP.NET Web API出现问题吗?

Asp.net mvc 4 返回值类型时,JSON会导致ASP.NET Web API出现问题吗?,asp.net-mvc-4,asp.net-web-api,Asp.net Mvc 4,Asp.net Web Api,我正在学习aspnetmvc4webapi,并且发现通过在apicontroller中返回对象就可以很容易地实现它 然而,当我尝试返回值类型(如bool、int、string)时,它根本不会以JSON格式返回。(在Fiddler中,它在raw和webview中显示'true/false'结果,但在JSON中根本没有任何内容 有人能帮我吗 谢谢 TestApicController的一些示例代码: public bool IsAuthenticated(string username) {

我正在学习aspnetmvc4webapi,并且发现通过在apicontroller中返回对象就可以很容易地实现它

然而,当我尝试返回值类型(如bool、int、string)时,它根本不会以JSON格式返回。(在Fiddler中,它在raw和webview中显示'true/false'结果,但在JSON中根本没有任何内容

有人能帮我吗

谢谢

TestApicController的一些示例代码:

public bool IsAuthenticated(string username)
{
    return false;
}
jQuery用法的一些示例代码:

function isAuthenticated(string username){
        $.getJSON(OEliteAPIs.ApiUrl + "/api/membership/isauthenticated?username="+username,
            function (data) {
                alert(data);
                if (data)
                    return true;
                else
                    return false;
            });
}
注意:上面的jquery不返回任何内容,因为返回了空内容-但是如果您在fiddler中检查它,您实际上可以在webview中看到返回“false”


干杯。

在调用回调函数之前,返回数据将传递给jquery方法,该方法希望数据为JSON格式。如果响应格式不正确,jquery将忽略响应数据并返回null。您有两个选项,将返回布尔值包装在类中或匿名类型中,以便web api返回一个JSON对象:

return new { isAuthentication = result }
或者不要从jQuery中使用getJSON,因为您没有返回格式正确的JSON响应。也许可以使用

以下是jQuery文档的报价:

要点:从jQuery1.4开始,如果JSON文件包含语法错误, 请求通常会以静默方式失败。请避免频繁手动编辑 JSON是一种数据交换格式,具有 比JavaScript对象的语法规则更严格的语法规则 文字符号。例如,JSON中表示的所有字符串, 无论它们是属性还是值,都必须包含在 双引号。有关JSON格式的详细信息,请参阅


在此发布一些控制器/操作的代码谢谢!请确保将
对象
声明为返回类型的方法。