我的ajax是这样的:
<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 :(得分:0)
尝试更改行:
global match flag
为:
dd(Input::get('page'));
return Input::get('page');
方法将转储dd
值并暂停执行。因此输出不会是格式正确的json。它可能是一些原始的html代替你倾倒的值。
答案 1 :(得分: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');