jquery - 如何在Web API Controller 上返回Json对象

标签 jquery jquery-mobile asp.net-mvc-4 visual-studio-2012 asp.net-web-api

我在我的 asp.net Controller 上使用了下面的代码,在 javascript 上的 Ajax 上返回 Json 对象

public JsonResult myMethod()
{
    // return a Json Object, you could define a new class
    return Json(new
    {
        Success = true, //error
        Message = "Success" //return exception
    });
}

Jquery-Ajax:

$.ajax({
    type: "POST",
    url: url_ ,
    data: search,
    success: function(data) {   
        //Show Json Properties from Controller ( If Success == false show exception Message from controller )
        if (data.Success)  
        {
            alert(data.Message); //display success 
        }
        else
        {
            alert(data.Message) //display exception
        }
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
        alert("error: " + XMLHttpRequest.responseText);
    },
    dataType: 'json'
});

如何在 Web Api Controller 上完成此操作?

你能给我一些例子或网址作为引用吗?

感谢和问候

最佳答案

ASP.NET Web API 的工作原理略有不同。您应该只返回一个实体(或一组实体),并由内容协商机制以客户端请求的格式将其返回给客户端。您可以在此处阅读有关内容协商的更多信息:

您当然可以通过返回HttpResponseMessage来绕过内容协商。在这种情况下,您需要自己将对象序列化为 JSON(上述文章中也介绍了这种方法的基础知识)。

关于jquery - 如何在Web API Controller 上返回Json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14231877/

相关文章:

jquery - 当 child 是一个类(class)时,如何访问 $(this) 选择器的 child ?

javascript - jQuery 脚本未激活

javascript/jquery 输入验证

javascript - PhoneGap应用程序是像Angular Js一样的单页应用程序模型吗?

javascript - 突出显示每个表行中的最高第 n 个值

javascript - 在对话框中重置 JQuery 验证

css - 移动 jquery 中的 div 元素中未显示背景图像

c# - Web API 操作过滤器 - Controller.TempData 等效?

asp.net-mvc-4 - 错误 : Cannot convert lambda expression to type 'string' because it is not a delegate type

asp.net - 从 __RequestVerificationToken 重命名 AntiForgeryToken 隐藏输入名称