2017-02-12 51 views
0

我的Ajax是這樣的:如何將數據發送到路由使用vue.js 2上的get方法?

<script> 
    new Vue({ 
     ... 
     methods: { 
      fetchItems: function (page) { 
       var data = {page: page}; 
       this.$http.get('api/items', data).then(function (response) { 
        console.log(JSON.stringify(response)) 
        this.$set(this, 'items', response.data.data.data); 
        this.$set(this, 'pagination', response.data.pagination); 
       }, function (error) { 
        // handle error 
       }); 
      }, 
      ... 
     } 
    }); 
</script> 

我的路線是這樣的:

Route::get('/api/items/', function() { 
    dd(Input::get('page')); 
    $results = \App\Post::latest()->paginate(7); 

    $response = [ 
     'pagination' => [ 
      'total' => $results->total(), 
      'per_page' => $results->perPage(), 
      'current_page' => $results->currentPage(), 
      'last_page' => $results->lastPage(), 
      'from' => $results->firstItem(), 
      'to' => $results->lastItem() 
     ], 
     'data' => $results 
    ]; 

    return $response; 
}); 

在執行時,我檢查控制檯,結果= NULL上,而我已經把這個:dd(Input::get('page'));

是否應該顯示誰發送的頁面

我該如何解決?

回答

0

嘗試改變行:

dd(Input::get('page')); 

到:

return Input::get('page'); 

dd方法將轉儲var值並停止執行。所以輸出不會是格式正確的json。它可能會是一些原始的html代替你傾銷的價值。

+0

這是相同的。這是行不通的 –

0

這是VUE js代碼

var app = new Vue({ 
    el: '#invoice', 
    data: { 
     form: new FormData(), 
     errors: {}, 
     tax: 0 
    }, 
    methods: { 
    random: function() { 
     this.form.serial = Math.floor(Math.random() * 1000000) + 1; 
    }, 
    sortBy: function() { 
     if(this.form.tax_id) { 
      var url = '{{route('invoice.get_tax', null)}}'; 
      this.$http.get(url) 
      .then(function(response){ 
       if(response.data) { 
        console.log(response.data) 
       } 
      }); 
     } 
    } 
}) 

完整的例子有路線

Route::get('/get_tax/{tax_id}', function($tax_id) 
{ 
    $tax = App\Tax::findOrFail($tax_id); 
    if ($tax) { 
     return response() 
      ->json([ 
       'rate' => $tax->rate, 
       'type' => $tax->type 
      ], 200); 
    } else { 
     return response() 
      ->json([ 
       'rate' => 0, 
       'type' => 1 
      ], 200); 
    } 
})->name('invoice.get_tax'); 
相關問題