2017-06-28 50 views
-3

在我的刀片中,我使用ajax调用来调用路由。在我的控制器中,我回来了一个不同的观点。但是,这个观点并没有改变。我想知道是否需要以不同的方式更改视图,因为我正在使用需要成功返回或不成功的ajax调用。Laravel使用ajax调用

这里是我的刀片

$('#btnAnalyze').click(function(){ 
       var text = $('#cv').val(); 
       $.ajaxSetup({ 
        headers: { 
         'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
        } 
       }); 
       $.ajax({ 
        type: 'POST', 
        url: "/widget/measurableresults", 
        data: { 
         text: text, 
        }, 
        success: function (msg) { 
         console.log("Success"); 
        }, 
        error: function (msg) { 
         console.log(msg); 
        } 
       }); 
      }); 

这里我的Ajax代码是我的路线

Route::post('/widget/measurableresults', '[email protected]'); 

在这里,在我的控制器的方法

public function measurableresults() 
    { 
     $text = Input::get('text'); 
     Log::debug($text); 
     return view('results.measurableresults'); 
    } 

日志::调试打印出来$ text的值和ajax调用返回成功。但是,这个观点并没有改变为结果。可测量的结果。我错过了什么?

+0

使用'window.location.href',然后将视图的url传递给ajax的响应。 – aldrin27

+0

@ aldrin27,你能举个例子吗? – Aaron

+0

你可以参考这个https://laracasts.com/discuss/channels/vue/redirect-after-ajax-post-request – aldrin27

回答

-1

尝试和删除行Log::debug($text);,它可能阻止return语句执行

更新

你似乎不明白的东西在AJAX和PHP通信是如何工作的,成功的代码您收到没有按并不意味着ajax返回了期望值,如果你记录了ajax响应,你将在你返回的视图中得到html文本,并不是说ajax会为你改变视图。

请对此进行更多研究。

+0

我已经尝试删除Log :: debug()。我认为dd()会停止执行的return语句,Log :: debug()不会 – Aaron