在控制器中传递方法的url,在ajax调用中

时间:2017-03-01 09:07:30

标签: javascript php jquery ajax

这是我的ajax电话

<script>
 jQuery(document).ready(function() {
  $("#VEGAS").submit(function(){
   var form_data =  $("#VEGAS").serialize();
    var routeUrl = "<?= url('/'); ?> /PUBLIC/vpage";
    $.ajax({
        url: routeUrl,
        type: "POST",
        data: form_data,
        success: function(result) {
            $('#msg-text-group').html('successfully added!');
            $('#msg-group').delay(1000).hide('slow');
           }
         });
      return false;
     });
   }); 
 </script>

这是我的控制器功能

   public function vegaspage(Request $request) {


    $inputs = Input::except('_token');
    $validator = Validator::make($inputs, Vegas::$vegas_d);
    if ($validator->fails()) {
        $messages = $validator->messages()->first();
        return Redirect::to('/vegas')->withMessage($messages);
    } else {
        if (Input::get('submit_1')) {
            $group_data = new Vegas();
            $var = "The Venetian";
            $username = Session::get('login');
            $group_data->user_name = $username;
            $group_data->firstname = input::get("firstname");
            $group_data->lastname = input::get("lastname");
            $group_data->email = input::get("email");
            $group_data->phone = input::get("phone");
            $group_data->check_in = input::get("checkin");
            $group_data->check_out = input::get("checkout");
            $group_data->date = input::get("checkboxG4");
            $group_data->hotel_name = $var;
            $group_data->nofguest = input::get("selecter-guest");
            $group_data->nofrooms = input::get("selecter-rooms");
            $group_data->nofbeds = input::get("selecter-beds");
            $group_data->save();
     }
    }

这是我的路线

Route::post('/vpage' , array('as' =>'vpage' ,'uses' =>'VegasController@vegaspage'));

在给出form和ajax调用之后,同样的id控件将进入ajax调用,但是给出的url没有命中。我的ajax网址有错误请建议我解决。 ?

1 个答案:

答案 0 :(得分:1)

罪魁祸首是返回false,它会停止DOM传播,删除返回false,而是使用e.preventDefault,如下所示:

  $("#VEGAS").submit(function(e){
     e.preventDefault();

     // continue your ajax request

在ajax调用中的url应该只是你路线中的内容。

   url: '/vpage'