Laravel Post 使用 axiox 请求失败,状态码为 500

时间:2021-07-25 22:47:02

标签: laravel vue.js axios

使用 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'];

}

1 个答案:

答案 0 :(得分:0)

问题是您正在尝试获取 $request 之类的

'tagName' => $request->tagName,

正确的形式是

'tagName' => $request->["tagName"],