使用 laravel 和 vue.js
当我尝试使用 axios 发送 post 请求时,我收到服务器错误 500
<块引用>{请求失败,状态码为 500}。
axios 方法:
async callApi(method, url, dataObj ){
try {
return await axios({
method: method,
url: url,
data: dataObj
});
} catch (error) {
// return error.response;
console.log(error.response.data);
console.log(error.response.headers);
console.log(error.toJSON());
}
},
控制器:
public function addTag(Request $request)
{
// validate request
// Insert Tag
return Tag::create([
'tagName' => $request->tagName,
]);
}
在我的 Vue.js 页面中使用代码
async addTag(){
if(this.data.tagName.trim()=='') return this.e('Tag name is required')
const res = await this.callApi('post', 'app/create_tag', this.data)
if(res.status===201){
this.tags.unshift(res.data)
this.s('Tag has been added successfully!')
this.addModal = false
this.data.tagName = ''
}else{
if(res.status==422){
if(res.data.errors.tagName){
this.e(res.data.errors.tagName[0])
}
}else{
this.swr()
}
}
},
标签模型:
class Tag extends Model
{
use HasFactory;
protected $fillable = ['id', 'tagName'];
}
答案 0 :(得分:0)
问题是您正在尝试获取 $request 之类的
'tagName' => $request->tagName,
正确的形式是
'tagName' => $request->["tagName"],