Javascript 如何在控制器中返回json格式的响应。(Asp.net)
我使用toastr来通知我的表单。我总是收到错误消息,但数据保存在数据库中。我认为错误来自于控制器,因为我没有用json发回。谢谢你的帮助 ---控制员:--------Javascript 如何在控制器中返回json格式的响应。(Asp.net),javascript,asp.net,json,asp.net-core,typeahead.js,Javascript,Asp.net,Json,Asp.net Core,Typeahead.js,我使用toastr来通知我的表单。我总是收到错误消息,但数据保存在数据库中。我认为错误来自于控制器,因为我没有用json发回。谢谢你的帮助 ---控制员:-------- public ActionResult CreateNewRentals(NewRentalDto newRental) { var hour = DateTime.Now; var customer = _context.Customers.Single(
public ActionResult CreateNewRentals(NewRentalDto newRental)
{
var hour = DateTime.Now;
var customer = _context.Customers.Single(
c => c.Id == newRental.CustomerId);
var movies = _context.Movie.Where(
c => newRental.MovieId.Contains(c.Id)).ToList();
foreach (var movie in movies)
{
if (movie.NumberAvailable == 0)
return BadRequest("le film est introuvable");
movie.NumberAvailable--;
var rental = new Rental
{
Customer = customer,
Movie = movie,
DateRented = DateTime.Now
};
_context.Rentals.Add(rental);
}
_context.SaveChanges();
return Ok();
}
--------拉维尤----------
<script type="text/javascript">
$(document).ready(function () {
var vm = {
movieId: []
};
var customers = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: customers,
remote: {
url: '/api/customers?query=%QUERY',
wildcard: '%QUERY'
}
});
$('#customer').typeahead({
hint: true,
highlight: true,
minLength: 1
}, {
name: 'customers',
display: 'name',
source: customers
}).on("typeahead:select", function (e, customer) {
vm.customerId = customer.id;
});
/* MOVIES */
var movies = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: '/api/movies?query=%QUERY',
wildcard: '%QUERY'
}
});
$('#movie').typeahead({
hint: true,
highlight: true,
minLength: 1
}, {
name: 'movies',
display: 'name',
source: movies
}).on("typeahead:select", function (e, movie) {
$("#movies").append("<li class='list-group-item'>" + movie.name + "</li>");
$("#movie").typeahead("val", "");
vm.movieId.push(movie.id);
});
$("#newRental").submit(function (e) {
e.preventDefault();
$.ajax({
url: "/api/newRentals",
method: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(vm),
success: function (data) {
toastr.success(' successfully!');
},
error: function () {
toastr.error( 'error!');
}
});
});
});
</script>
你没有把任何东西传递给Ok结果。或者像这样传递一个值:在这里返回OkOBJECT,或者在这里返回新的JsonResultOBJECT。区别在于Ok返回HTTP状态200 您没有将任何内容传递给Ok结果。或者像这样传递一个值:在这里返回OkOBJECT,或者在这里返回新的JsonResultOBJECT。区别在于Ok返回HTTP状态200 只要删除dataType:json,那么客户机就不希望在响应中返回json。或者从服务器返回一些JSON,如果有什么有用的东西可以返回p.S。我总是收到错误消息…错误消息到底是什么?您在哪里看到它?如果你知道,告诉我们。那么我们就不必根据您的推测猜测真正的原因了。只要删除dataType:json,那么客户端就不希望json返回到响应中。或者从服务器返回一些JSON,如果有什么有用的东西可以返回p.S。我总是收到错误消息…错误消息到底是什么?您在哪里看到它?如果你知道,告诉我们。根据你的推测,我们无法猜测真正的原因。