2017-06-28 91 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