【发布时间】:2021-06-29 07:45:15
【问题描述】:
我的 Razor 视图文件中有以下内容:
<button onClick="getFavouriteBooks()">Display Favourites</button>
<script>
function getFavouriteBooks() {
var ids = JSON.parse(localStorage.getItem("bookIds"));
$.ajax({
type: "POST",
url: '@Url.Action("Favourites", "Home")',
data: ids,
dataType: "javascript"
});
}
</script>
在我的家庭控制器中,这个动作:
public async Task<ViewResult> Favourites(string[] ids)
{
// var bookList = code that retrieves list of all books
var favouriteBooks = bookList.Any(book => ids.Contains(book.Id));
return View("Index", favouriteBooks);
}
当用户单击“显示收藏夹”时,我收到 localhost/Home/Favourites 的 500 错误。谁能帮我看看我哪里出错了?
更新:bookIds 是一个字符串 ID 数组。
【问题讨论】:
-
服务器错误日志在中断时会告诉您什么?请注意,您没有发送键/值,仅发送值
-
@charlietfl 我刚刚收到一个 500 错误 POST localhost:5001/Home/Favourites 500(内部服务器错误)。是的,这是正确的,只是打算发送一个字符串 ID 数组的值
-
这是客户端错误。您需要查看服务器端错误日志文件
-
至于“只打算发送价值”......这不是默认 POST 请求的工作方式。发送键/值对
-
表示string[] ids为空。
标签: javascript ajax asp.net-mvc razor