使用AJAX向Laravel Controller发送数据数组时保持null

时间:2017-09-14 05:35:11

标签: javascript php jquery ajax laravel

我正在尝试使用AJAX从客户端向后端Laravel控制器发送一组数据。问题是我在控制器中的数据转储时一直变为null。

我在网上尝试了很多可能的解决方案,没有什么对我有用。我需要你的帮助才能知道我哪里出错或错过了。提前谢谢。

这是路线

Route::post('/event/going/{id}', ['as' => $s . 'going-post', 'uses' => 'PagesController@goingForEvent']);

这是控制器

public function goingForEvent(Request $request, $id)
{
            dd(Input::get('result'));
}   

这是HTML代码

<a data-url="{{route('public.going-post', $singleEvent->id)}}" id="imGoing" class="ui attached positive button">I'm Going</a>
                    <div class="or"></div>

这是AJAX代码

<script>
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });

    $("#imGoing").click(function() {

        var url = $(this).data('url');
        console.log(url);

        //var x = url.substr(url.lastIndexOf('/') + 1);
       // console.log("/event/going/" + x);

        swal({
          title: 'Multiple inputs',
          html:
            '<input type="text" id="firstName" class="swal2-input">' +
            '<input type="text" id="lastName" class="swal2-input">' +
            '<input type="email" id="email" class="swal2-input">',
          preConfirm: function () {
            return new Promise(function (resolve) {
              resolve([
                $('#firstName').val(),
                $('#lastName').val(),
                $('#email').val(),
              ])
            })
          },
          onOpen: function () {
            $('#firstName').focus()
          }
        }).then(function (result) {
            var stuff ={fn:result[0],ln:result[1], em: result[2]};

            console.log(stuff);

            $.ajax({
                url: url,
                type: "POST",
                data: {result:JSON.stringify(stuff)},
                processData: false,  // tell jQuery not to process the data
                contentType: false   // tell jQuery not to set contentType
            }).done(function( data ) {
                //console.log(data);                    
            });
        }).catch(swal.noop)
    });
</script>

在控制器上使用 $ request-&gt; all()后的结果

enter image description here

0 个答案:

没有答案