У меня есть база данных фильмов, и я ищу, чтобы создать Json, а затем получить доступ к этому json на мой взгляд. Я успешно создал JSON в контроллере, используя следующий код:Передача Json из контроллера для просмотра
var movies = from m in db.Movies
select m;
string jsonData = JsonConvert.SerializeObject(movies);
Это создает JSON, который я прошел к консоли через WriteLine, и он генерирует следующий JSON:
[{"ID":1,"Title":"When Harry Met Sally","ReleaseDate":"1989-01-11T00:00:00","Genre":"Romantic Comedy","Price":7.99,"Rating":"PG","Review":79.90},
{"ID":2,"Title":"Ghostbusters ","ReleaseDate":"1984-03-13T00:00:00","Genre":"Comedy","Price":8.99,"Rating":"PG","Review":94.90},
{"ID":3,"Title":"Ghostbusters 2","ReleaseDate":"1986-02-23T00:00:00","Genre":"Comedy","Price":9.99,"Rating":"15","Review":89.90},
{"ID":4,"Title":"Rio Bravo","ReleaseDate":"1959-04-15T00:00:00","Genre":"Western","Price":3.99,"Rating":"U","Review":91.90},
{"ID":5,"Title":"The Hangover","ReleaseDate":"2008-01-01T00:00:00","Genre":"Comedy","Price":9.99,"Rating":"18","Review":83.80},
{"ID":6,"Title":"Test","ReleaseDate":"2013-06-01T00:00:00","Genre":"Action","Price":10.00,"Rating":"18","Review":89.00}]
Затем я хочу получить доступ к этому json в своем представлении и распечатать его в своем представлении. Я попробовал следующий код Ajax, но я не могу получить данные json для отображения.
<button id="test">Test</button>
<div class="inner"></div>
<script type="text/javascript">
$(document).ready(function() {
$('#test').on('click', function(){
$.ajax({
url: '@Url.Action("Index", "Movies")',
dataType: 'json',
context: document.body
}).done(function(serverdata) {
jsonData = serverdata;
$.each(jsonData, function(i, item) {
$(".inner").append("<p>" + jsonData + "</p>");
});
});
});
});
</script>
Любые идеи? Что я делаю не так?
$ (". Inner"). Append ("
" + jsonDa ta + "
"); Разве jsonData не должен быть элементом? – Hoijof