axios.post 出现 500 错误
axios.post get 500 error
我正在尝试使用 laravel 5.4 和 vue 2.0 创建一个网站聊天应用程序
我遵循了本教程 https://www.youtube.com/watch?v=8aTfMHg3V1Q 并且一切正常,直到我尝试坚持使用 axios.post
发送的消息
我的web.php:
Route::group(['prefix' => 'profile/{username}/you'], function()
{
Route::post('/privatechat/{id}', function(){
$user = Auth::user();
$user->send()->create([
'chat_room' => request()->segment(5),
'message' => request()->get('message'),
'sender_id' => Auth::user()->id,
'receiver_id' => request()->input('receiver')
]);
return ['status' => 'OK'];
})->middleware('auth');
});
还有我的 vue:
var url = location.href + '/' + $(this).val();
const app = new Vue({
el: '#app',
data: {
messages: [],
sendClass: 'chat-send'
//Điều kiện
},
methods: {
addMessage(message) {
this.messages.push(message);
axios.post(url, message)
.then(function (response) {
alert('Complete! Thanks for your message!');
})
.catch(function (error) {
console.log(error);
});
}
},
mounted() {
var u = url;
axios.get(u).then(response => {
//console.log(response);
this.messages = response.data;
});
}
});
当我按回车键发送消息时,chrome 控制台中出现了这个错误:
POST 500 (Internal Server Error)
dispatchXhrRequest @ app.js:11154
xhrAdapter @ app.js:10991
dispatchRequest @ app.js:11633
我的代码哪里错了?
我使用 laravel-log-viewer 并看到这个:
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1' for key 'PRIMARY'
in /home/vagrant/website/hgc/vendor/laravel/framework/src/Illuminate/Database/Connection.php:449
您正在创建新聊天(新条目),如果我没记错的话,您可以不用发送方法吗?只是 Chat::create... 因为您首先检索已经具有 ID 的聊天,然后插入具有已使用 ID 的相同聊天是行不通的。
我正在尝试使用 laravel 5.4 和 vue 2.0 创建一个网站聊天应用程序 我遵循了本教程 https://www.youtube.com/watch?v=8aTfMHg3V1Q 并且一切正常,直到我尝试坚持使用 axios.post
发送的消息我的web.php:
Route::group(['prefix' => 'profile/{username}/you'], function()
{
Route::post('/privatechat/{id}', function(){
$user = Auth::user();
$user->send()->create([
'chat_room' => request()->segment(5),
'message' => request()->get('message'),
'sender_id' => Auth::user()->id,
'receiver_id' => request()->input('receiver')
]);
return ['status' => 'OK'];
})->middleware('auth');
});
还有我的 vue:
var url = location.href + '/' + $(this).val();
const app = new Vue({
el: '#app',
data: {
messages: [],
sendClass: 'chat-send'
//Điều kiện
},
methods: {
addMessage(message) {
this.messages.push(message);
axios.post(url, message)
.then(function (response) {
alert('Complete! Thanks for your message!');
})
.catch(function (error) {
console.log(error);
});
}
},
mounted() {
var u = url;
axios.get(u).then(response => {
//console.log(response);
this.messages = response.data;
});
}
});
当我按回车键发送消息时,chrome 控制台中出现了这个错误:
POST 500 (Internal Server Error)
dispatchXhrRequest @ app.js:11154
xhrAdapter @ app.js:10991
dispatchRequest @ app.js:11633
我的代码哪里错了?
我使用 laravel-log-viewer 并看到这个:
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1' for key 'PRIMARY'
in /home/vagrant/website/hgc/vendor/laravel/framework/src/Illuminate/Database/Connection.php:449
您正在创建新聊天(新条目),如果我没记错的话,您可以不用发送方法吗?只是 Chat::create... 因为您首先检索已经具有 ID 的聊天,然后插入具有已使用 ID 的相同聊天是行不通的。