C# Ajax调用在ASP MVC中无法正常运行
所以我尝试为一个博客创建一个评论部分。我在jquery中识别打开的博客帖子id时遇到问题 我从chrome控制台得到这些错误C# Ajax调用在ASP MVC中无法正常运行,c#,jquery,ajax,asp.net-mvc,C#,Jquery,Ajax,Asp.net Mvc,所以我尝试为一个博客创建一个评论部分。我在jquery中识别打开的博客帖子id时遇到问题 我从chrome控制台得到这些错误 GET http://localhost:46223/api/posts//comments postid应该位于双斜杠之间,但不是。当我在ajax调用中手动输入postID时,它工作得非常好 Api控制器正在公开数据库中的注释,相关代码如下 [Route("api/posts/{postId:long}/comments")] public class Com
GET http://localhost:46223/api/posts//comments
postid应该位于双斜杠之间,但不是。当我在ajax调用中手动输入postID时,它工作得非常好
Api控制器正在公开数据库中的注释,相关代码如下
[Route("api/posts/{postId:long}/comments")]
public class CommentsController : Controller
{
readonly BlogDataContext _dbContext;
public CommentsController(BlogDataContext db)
{
_dbContext = db;
}
// GET: api/values
[HttpGet]
public IQueryable<Comment> Get(long postId)
{
return _dbContext.Comments.Where(x => x.PostId == postId);
}
我很抱歉,如果我没有包括一些东西,但我有很多代码。如果你还需要知道什么,请告诉我
我也非常感谢您对我的错误提出一些建议。您的代码正在从postEl的数据属性
post id
获取post id。postEl可以是单击的同一锚定标记,也可以是它的父标记,具有blog post
css类
var $el = $(el),
postEl = $el.hasClass('blog-post') ? $el : $el.parents('.blog-post'),
postId = postEl.data('post-id'),
但是在HTML标记中,锚标记没有这样的数据属性。因此,如果您添加了它,您的代码将能够获取帖子id并使用它来构建url
<a href="#" class="show-comments blog-post" data-post-id="250">Show Comments</a>
非常感谢。我的评论部分在一个div blog post类中,所以我只是在那里添加了data post id属性,它就工作了!非常感谢
var $el = $(el),
postEl = $el.hasClass('blog-post') ? $el : $el.parents('.blog-post'),
postId = postEl.data('post-id'),
<a href="#" class="show-comments blog-post" data-post-id="250">Show Comments</a>
<a href="#" class="show-comments blog-post" data-post-id="@Model.PostId">Show Comments</a>