在laravel中使用ajax提交表单时找不到404

时间:2017-03-20 12:02:29

标签: php ajax laravel

我是laravel的新手,在使用ajax时将我的数据发送到laravel中的控制器时遇到问题。我的视图包含一个选择框,当用户从选择框中选择一个值时,它会从数据库中填充我试图调用ajax,它将返回用户工资的详细信息。问题是它给我404找不到错误。

控制器文件的代码如下所示。

    this function is defined inside a controller

    public function getPostSalary()
        {
            echo "ajax called";
            return 'true';
        }

路由文件是

Route::post('company/salary-user', 'CompanyController@getPostSalary');

这是我的ajax代码,来自控制器的calleD

<script>
    $(document).ready(function() {
        $('#employee').change(function () {
            var values = $('#employee').val();
            if (values == '') {
                $.pnotify({
                    title: 'Message',
                    text: 'Please Select a User.',
                    type: 'error',
                    delay: 3000
                });
                return false;
            }
            var csrf = $('#csrf').val();
            $.ajax({
                url: '{!! URL::to("company/salary-user")!!}',
                type: "POST",
                data: { user_id: values, _token: csrf },
                cache: false,
                beforeSend: function () {

                },
                success: function (data) {
                    console.log(data);
                    $('#loader').hide();
                }
            });
        }); 
    });
</script>

有人可以帮我弄清楚问题是什么以及应该怎么做来调用我的功能。

3 个答案:

答案 0 :(得分:2)

单引号用于字符串,因此您的网址不会按预期生成。像这样使用

  url : "{!! URL::to('company/salary-user')!!}",

答案 1 :(得分:0)

替换此行:

{!! URL::to("company/salary-user")!!}

by:

{{ url('/company/salary-user') }}

{{ route('/company/salary-user') }}

答案 2 :(得分:0)

您可以使用直接网址

 $.ajax({
            url:'company/salary-user',
            type: "POST",
            data: { user_id: values, _token: csrf },
            cache: false,
            beforeSend: function () {

            },
            success: function (data) {
                console.log(data);
                $('#loader').hide();
            }
        });