如何返回Web API数据

时间:2016-05-05 15:13:10

标签: jquery asp.net angularjs ajax

我已经创建了一个ASP.NET Web API。它似乎正在工作,因为我可以进入浏览器的路径,它显示数据库表中的数据,看起来像XML格式。当我写一个jQuery或AngularJS调用来获取我的MVC网站中的数据时,我得到了错误。经过多次努力,我发现(我认为)jQuery或AngularJS需要JSON对象,但Web API必须返回XML对象。我这样说是因为当我使用dataType:'xml'调用jQuery $ .ajax时,我终于获得了成功。在我的Web API中,我返回了我的数据对象列表。构造它的最佳或常规方法是什么,以便数据正确匹配回客户端AJAX调用?

1 个答案:

答案 0 :(得分:0)

<强> C#

[WebMethod]
public string GetEmployeeData(int userId)
{
    Dictionary<string, object> returnData = Dictionary<string, object>();

    using(SqlConnection conn = new SqlConnection(connString))
    {
        //etc... etc...
    }

    var jsonSerializer = new JavaScriptSerializer();

    return jsonSerializer.Serialize(returnData);
}

<强>使用Javascript:

$http.post('MyApp/GetEmployeeData', { userId: 1 }).then(function(response){
    $scope.myData = response.data;
}).catch(function(response) {
    //an error has occurred
});