Laravel 5.0 ajax 消息提交返回错误或超时
Posted
技术标签:
【中文标题】Laravel 5.0 ajax 消息提交返回错误或超时【英文标题】:Laravel 5.0 ajax message submission returning error or times out 【发布时间】:2016-02-12 19:17:28 【问题描述】:目前,我正在尝试使用 ajax 向服务器发送消息(使用即时消息),保存消息并使用消息进行更新。但是,每当我提交它时,它都会返回 500 内部服务器错误,如果我将 token:$('#token')
更改为 '_token' : token
,就像我看到的 here 一样,它会完全超时。
ajax
function submitIMchat()
console.log($('#IMchat-submit-message').val());
console.log($('#token').val());
$.ajax(
url: " action('MessagesController@sendAjaxMessage') ",
type: "post",
dataType:'json',
data: ( token:$('#token'), id: Session::get('IMchatuser') , message:$('#IMchat-submit-message').val() ),
success: function(data)
console.log(data);
return false;
)
.error(function(data)
var errors = data.responseJSON;
console.log('server errors',errors);
);
;
表格
<form action="#" onsubmit="submitIMchat()">
<input type="hidden" id="token" value=" csrf_token() ">
<input id="IMchat-submit-message" type="text" style="width:100%;">
</form>
路线
Route::post('sendAjaxMessage', 'MessagesController@sendAjaxMessage');
谁能告诉我这里的代码有什么问题?如果需要任何其他信息,请告诉我。 注意:我没有包含 sendAjaxMessage,因为它还没有执行该函数。
谢谢。
【问题讨论】:
500 内部服务器错误可能正在回答您的问题。查看日志文件以查看有关触发此错误的更多详细信息。 如果您甚至没有创建 sendAjaxMessage 方法,那么这很可能是问题所在。 @JoachimMartinsen 我已经创建了它,但是它没有执行它。此外,500 Internal Server Error 没有任何信息可以用来识别错误。@ jquery-1.10.2.min.js:6 x.extend.ajax @ jquery-1.10.2.min.js:6 submitIMchat @ anime:627 onsubmit @ anime:1467
转到你的 Laravel 日志,你的错误将在那里,而不是在请求负载中
@FabioAntunes 我检查了它,但是,今天没有错误 - 最后是昨天,当我在做其他事情时。
【参考方案1】:
我终于解决了这个问题。这与我如何在 sendAjaxMessage 函数中获取变量有关:当我需要使用 Input::all()
获取表单值并将它们设置为单个变量时,我将其视为请求。此外,发送到函数的消息最终被保存为 $message,而创建和保存的 Message 对象也被命名为 $message。因此,$message->message = $message
会中断。
【讨论】:
以上是关于Laravel 5.0 ajax 消息提交返回错误或超时的主要内容,如果未能解决你的问题,请参考以下文章
如果 $request->ajax() 在 Laravel 中捕获重定向并返回 json 消息
PHP Laravel 4.2 ajax post返回null或空
如何修复 Laravel 5.8 Ajax 表单提交中的内部服务器错误