이 Laravel 애플리케이션에서 AJAX 호출이 실패하는 이유는 무엇입니까?
P粉779565855
P粉779565855 2024-02-17 12:19:10
0
2
331

저는 Laravel 8에서 블로그 애플리케이션을 개발 중입니다.

ArticlesController 컨트롤러 단일 기사와 해당 comments를 표시하는 방법이 있습니다.

으아아아

뷰에는 다음과 같은 댓글 목록이 있습니다.

으아아아

기사 관련 경로:

으아아아

목표

댓글 페이지 매김을 "무한 스크롤"로 바꾸고 싶습니다.

이 목적을 위해 나는 다음을 가지고 있습니다:

으아아아

질문

페이지 2의 댓글은 https://larablog.com/show/deserunt-qui-exeritationem?page=2 방문 시 올바르게 표시되며 Chrome 콘솔에는 다음이 표시됩니다. 500(내부 서버 오류) 오류:

으아아아

오류는 ArticlesController의 70행에 있는 오류 메시지에서 역으로 추적할 수 있습니다. - $article = Article::firstWhere('slug', $slug):

비객체의 "id" 속성을 가져오려고 합니다.

이것은 $article = Article::firstWhere('slug', $slug) Ajax 없이도 잘 작동하기 때문에 이상합니다.

질문

  1. 이 오류의 원인은 무엇입니까?
  2. 가장 쉬운 해결 방법은 무엇인가요?

P粉779565855
P粉779565855

모든 응답(2)
P粉253518620

firstWhere 返回符合传递条件的第一条记录,默认为 null. 그럼, 당신

으아아아

slug$slug 匹配的第一篇文章,如果不存在这样的记录,则返回 null 。现在,每当您引用 $article->id 时,您都会认为 $article 是一个正确的 Article 并且您想知道其 id의 값을 반환합니다. 일치하는 기사가 없으면 발생한 오류가 발생합니다.

그러므로 추가하고$article 初始化后检查 empty($article) 실제로 비어 있을 때 극단적인 경우를 처리하는 것이 현명합니다.

P粉121447292

내 솔루션은 다음과 같습니다.

routesweb.php에 이 새로운 경로를 추가했습니다:

으아아아

기사 내 컨트롤러:

으아아아

댓글이 10개 이상인 경우에만 Ajax 스크립트를 로드합니다.

으아아아

스크립트:

으아아아
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿