如何将JSON数据从C#控制器传递到angular js?我想将json从控制器传递到有角js。我尝试了不同的方法,但是没有一个起作用。请参阅下面的代码
var app = angular.module('myApp', []);
app.controller('customersCtrl', function ($scope, $http) {
$http.get("/adnActions/getJson")
.success(function (response) { alert(response.records); $scope.names = response.records; });
});
C#控制器代码
public async Task<string> getJson()
{
data="{'records':[ {'Name':'Alfreds Futterkiste','City':'Berlin','Country':'Germany'}, {'Name':'Ana Trujillo Emparedados y helados','City':'México D.F.','Country':'Mexico'}]}";
return data;
}
但无法在以下Angular js控制器中获取数据是在控制台中引发的错误,“错误:JSON.parse:预期属性名称或'}'在JSON数据的第1行第2列
如何解决这个问题?这里有什么问题?
我怀疑这是因为您的JSON格式。您使用的是单引号还是双引号。有效的JSON使用双引号。
这是我运行您的json时得到的信息,我已将响应更改为HttpResponseMessage并明确设置了响应内容类型以消除此问题。基于您在Javascript方面的错误,我认为您的问题是JSON中的单引号。
public async Task<HttpResponseMessage> GetJsonSingle()
{
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StringContent("{'records':[ {'Name':'Alfreds Futterkiste','City':'Berlin','Country':'Germany'}, {'Name':'Ana Trujillo Emparedados y helados','City':'México D.F.','Country':'Mexico'}]}")
};
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
return result;
}
结果是:
虽然双引号:
public async Task<HttpResponseMessage> GetJsonDouble()
{
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StringContent("{\"records\":[ {\"Name\":\"Alfreds Futterkiste\",\"City\":\"Berlin\",\"Country\":\"Germany\"}, {\"Name\":\"Ana Trujillo Emparedados y helados\",\"City\":\"México D.F.\",\"Country\":\"Mexico\"}]}")
};
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
return result;
}
正常工作:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句