2015-11-11 71 views
0

目前,我正在嘗試使用ajax向服務器發送消息(使用即時通訊工具),保存消息並使用消息進行更新。但是,每當我提交它時,它都會返回一個500內部服務器錯誤,如果我將token:$('#token')更改爲'_token' : token,因爲我已經看到here,它會完全超時。Laravel 5.0 ajax消息提交返回錯誤或超時

阿賈克斯

function submitIMchat(){ 
     console.log($('#IMchat-submit-message').val()); 
     console.log($('#token').val()); 
     $.ajax({ 
      url: "{{ action('[email protected]') }}", 
      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', '[email protected]'); 

誰能告訴什麼可能是WRO用我的代碼在這裏?如果需要其他信息,請告訴我。 注意:我沒有包含sendAjaxMessage,因爲它尚未執行該功能。

謝謝。

+1

500內部服務器錯誤可能回答你的問題。查找日誌文件以查看有關觸發此錯誤的更多詳細信息。 – user2479930

+0

如果你還沒有創建sendAjaxMessage方法,那很可能是這個問題。 – user2479930

+0

@JoachimMartinsen我已經創建了它,但是它並沒有執行它。此外,500內部服務器錯誤沒有任何可以識別錯誤的信息。 '@ \t的jquery-1.10.2.min.js:6 x.extend.ajax \t \t @ jQuery的1.10.2.min.js:6 submitIMchat \t \t @動漫:627 的onsubmit \t \t @動漫:1467 ' –

回答

0

我終於解決了這個問題。這與我如何在sendAjaxMessage函數中獲取變量有關:當我需要使用Input::all()獲取表單值並將它們設置爲單個變量時,我將它視爲請求。另外,發送給函數的消息最終保存爲$ message,而創建並保存的Message對象也被命名爲$ message。因此,$message->message = $message會中斷。