为啥我的路线返回 500 错误?

Posted

技术标签:

【中文标题】为啥我的路线返回 500 错误?【英文标题】:Why is my route returning 500 error?为什么我的路线返回 500 错误? 【发布时间】:2017-06-23 03:59:29 【问题描述】:

我正在尝试编写我的第一个 Vue 组件并将一些数据发布到我的 Laravel 后端。对于某些原因,该帖子返回 500 错误。为什么是这样?是的,csrf 令牌是发送的标头的一部分。

VUE 组件:

<template>
    <form v-on:submit.prevent="letsTalk">
        <div class="input-group">

            <input type="text" class="form-control" v-model="message" placeholder="Type here my friend..." ref="messageInput" autofocus>
            <span class="input-group-btn">
                <button class="btn btn-primary" type="submit">Send</button>
            </span>
        </div>
    </form>
</template>

<script>
    export default 
        data: function () 
            return 
                message: 'joel',
                messageInput: []
            
        ,
        created()

        ,
        methods: 
            letsTalk: function () 
                this.$refs.messageInput.focus()
                this.message = ''
                this.success = function(m) 
                    console.log('success', m)
                
                this.error = function(m) 
                    console.log('error', m)
                

                this.$http.post( '/api/messages', [this.message])
                    .then(this.success, this.error);

            
        
    
</script>

路线:

    Route::post('/api/messages', 'Messages@send');

控制器

    namespace App\Http\Controllers;

    use Illuminate\Http\Request;
    use Log;

    class Messages extends Controller
    
        public function send() 
            return json_encode('this works')
        
    

【问题讨论】:

当您收到内部服务器错误时,通常有助于检查错误日志并找出错误消息的内容 【参考方案1】:

您应该在浏览器的developer console 的网络选项卡下查看发生的情况,或查看您的日志。

如果这是您复制和粘贴的代码,那么您在 json_encoded 行的末尾错过了一个分号,应该是:

return json_encode('this works');

如果您在写javascriptphp 之间切换,尝试在javascript 中包含分号总是一个好主意,因为php 需要semi-colon,所以很容易如果您不习惯性地添加它们,就会错过它们。

【讨论】:

谢谢!分号修复了它!

以上是关于为啥我的路线返回 500 错误?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 Mongoose findAll 方法返回 500 错误 ..?

Laravel:为啥我的 ajax 请求返回“500(内部服务器错误)”?

为啥我的 laravel 集合返回 500 错误,即使不是在我使用 dd() 检查结果时?

针对 elmah.axd 的请求总是失败并返回 500 - 内部服务器错误。为啥? :-(

Laravel发布路由返回错误500

开发服务器返回响应错误代码:500 react-native 为啥这个错误谁能告诉我