Вот мой код записи ajax в структуре laravel для публикации данных комментариев. Но я получаю синтаксическую ошибку как -
ErrorException Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный «комментарий» (T_STRING), ожидание «,» или «)»
для моего файла просмотра.
Согласно моим наблюдениям, любой оператор jquery, написанный внутри поля успеха, дает мне ошибку. Я использую последнюю версию jquery - 3.3.1.min и версию laravel 5.4.
Пожалуйста Поддержи.
<script type = "text/javascript">
$(document).ready(function() {
$("#save-comment").click(function() {
var token = $('meta[name = "csrf-token"]').attr('content');
var comment = $('textarea#commentContent').val();
var postId = "<?php echo $postId; ?>";
if (comment) {
$.ajax({
type: "POST",
url: "{{ url('/ajax/postcomment) }}",
data: { "_token" : token, "commentContent" : comment, "postId" : postId },
success: function(d) {
$("#notify-box").animate({ opacity: 1 }, 2000);
$("#notify").text('Comment Saved successfully.');
setTimeout(function(){
$('#notify-box').animate({ opacity : 0 }, 200);
}, 6000);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
$("#notify-box").animate({ opacity: 1 }, 2000);
$("#notify").text(errorThrown);
setTimeout(function(){
$('#notify-box').animate({ opacity : 0 }, 200);
}, 6000);
}
});
} else{
$("#notify-box").animate({ opacity: 1 }, 2000);
$('#notify').text('Add a Reply to save.');
setTimeout(function(){
$('#notify-box').animate({ opacity : 0 }, 200);
}, 6000);
}
});
});
</script>
Поле уведомлений предназначено только для отображения уведомлений, код здесь
<div class = "notify-box" id = "notify-box">
<div class = "notify-icon"><i class = "fa fa-info-circle" aria-hidden = "true"></i></div>
<div class = "notify-msg">
<h4 class = "">Message.!</h4>
<p id = "notify">something special done</p>
</div>
</div>
пока просмотрите страницу, чтобы она не отображалась и не отображала ошибку.
веб-маршруты laravel
Route::group(['prefix' => 'ajax', 'middleware' => ['auth:customer']], function () {
if (Request::ajax()){
// Single post page for comments
Route::post('/postreply', 'Blog\BlogAjaxController@ajaxPostReply');
Route::get('/postreply', 'Blog\BlogAjaxController@ajaxGetPostReply');
Route::post('/postcomment', 'Blog\BlogAjaxController@ajaxPostComment');
}
});
Вот мой контроллер laravel
public function ajaxPostComment(Request $request)
{
$this->validate($request, [
'comment' => 'required',
]);
$blogcomment = new Blogcomment();
$blogcomment->commentContent = $request->input('commentContent');
$blogcomment->postId = $request->input('postId');
$blogcomment->customerId = '1'; // Auth::guard('customer')->id();
$blogcomment->commentStatus = 'Pending';
$blogcomment->commentType = 'Comment';
$blogcomment->commentFlag = 'Unread';
$blogcomment->like = '0';
$blogcomment->dislike = '0';
$blogcomment->save();
return response()->json([
'status' => 'Success',
'message' => 'Your Comment Saved Successfully.'
], 201);
}
ошибка содержит имя файла и код строки?
url: "{{ url('/ajax/postcomment) }}", где закрывающий ' на вашей функции url()?
похоже, отсутствует цитата: url: "{{ url('/ajax/postcomment') }}",
@Ohgodwhy you are right, 'отсутствует. благодарю за поддержку. я потратил на это свои часы.






да, представление laravel при рендеринге показывает эту ошибку. Я обновил код laravel в приведенном выше вопросе. Я написал скрипты на самой странице просмотра laravel