Asp.net mvc 4 返回值类型时,JSON会导致ASP.NET Web API出现问题吗?
我正在学习aspnetmvc4webapi,并且发现通过在apicontroller中返回对象就可以很容易地实现它 然而,当我尝试返回值类型(如bool、int、string)时,它根本不会以JSON格式返回。(在Fiddler中,它在raw和webview中显示'true/false'结果,但在JSON中根本没有任何内容 有人能帮我吗 谢谢 TestApicController的一些示例代码: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) {
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格式的详细信息,请参阅
在此发布一些控制器/操作的代码谢谢!请确保将
对象
声明为返回类型的方法。