我有一个奇怪的问题,我无法找到解决方案。
Ajax代码:
$("#details-comment-btn").click(function(e){
e.preventDefault();
var functionType = "comment";
var articleid=$('input[name=articleId]').val();
var owner_id=$('input[name=owner_id]').val();
var first_name=$('input[name=owner_first_name]').val();
var last_name=$('input[name=owner_last_name]').val();
var token=$('input[name=_token]').val();
var commentBody = $('textarea[name=commentBody]').val();
console.log(articleid);
$.ajaxSetup({headers : {'X-CSRF-TOKEN' : $('meta[name="csrf-token"]').attr('content')}});
$.ajax({
type: "POST",
url:articleid,
data:
{
'user_id': owner_id,
'commentBody': commentBody,
'functionType': functionType,
'article_id': articleid,
'_token': token
},
success: function(){
console.log(articleid);
$('#newcomment').append('<div class="comment" id="newCommentDiv">');
$('#newCommentDiv')
.append('<a href="/user/'+ owner_id +'/' + first_name + '/' + last_name + '" class="user">' + first_name + " " + last_name + '</a>')
.append('<span class="date">Just Now</span>')
.append('<p class="body">'+ commentBody + '</p>');
$('#newcomment').fadeIn();
}
});
});
但是,我总是得到同样的错误
POST http://project.dev/articles/1 500(内部服务器错误)
这是我对帖子的路线
Route::post('articles/{id}', 'DeleteController@deleteWork');
它显示的链接很好,所以我不确定为什么它会给我错误。
奇怪的是,其他需要相同URL的其他ajax调用没有任何问题。
例如,来自另一个AJAX调用的代码可以正常工作并使用相同的&#34; url&#34;。
$('.articleFavo').click(function(e){
e.preventDefault();
var userid= $('input[name=userID]' ).val();
var functionType = 'favorite';
var articleid=$('input[name=articleId]').val();
var token=$('input[name=_token]').val();
$.ajaxSetup({headers : {'X-CSRF-TOKEN' : $('meta[name="csrf-token"]').attr('content')}});
$.ajax({
url:articleid,
type: "post",
data:
{
'functionType': functionType,
'user_id': userid,
'article_id': articleid,
'_token': token
},
success: function(){
console.log(articleid);
$('#favoriteBtn'+ articleid).css({display: 'none'})
$('#unfavoriteBtn'+ articleid).fadeIn();
}
});
});
答案 0 :(得分:0)
在控制器的第378行,您有以下一行:
$article_id = input::get('articleId');
但是,您在AJAX调用中发送了“article_id”。在控制器中更新此行可能会更好(与代码的其余部分保持一致)
$article_id = input::get('article_id');