在使用setInterval做AJAX在正常的PHP,我可以做AJAX與setInterval
更新頁面如下:如何Laravel 5.4
的script.js
setInterval(function(){
$.get("fetch_json.php", function(data) {
var jsonData = JSON.parse(data);
$.each(jsonData, function(itemKey,itemObject){
// update div without refreshing the page
}
},1000);
fetch_json.php
$results_array = [];
$file = new SplFileObject("file.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
$results_array[] = $row[0];
$results_array[] = $row[1];
$results_array[] = $row[2];
$results_array[] = $row[3];
}
echo json_encode($results_array);
在Laravel 5.4中,我不知道如何做到這一點了。使用控制器和視圖,傳遞數據看起來很複雜。
我試着做我的控制器以下幾點:
class PageController extends Controller
{
public function fetchData()
{
$results_array = [];
$file = new \SplFileObject("file.csv");
$file->setFlags(\SplFileObject::READ_CSV);
foreach ($file as $row) {
$results_array[] = $row[0];
$results_array[] = $row[1];
$results_array[] = $row[2];
$results_array[] = $row[3];
}
$json = json_encode($results_array);
return view('page',['json'=>$json]);
}
}
的script.js
$(document).ready(function(){
setInterval(function(){
$.ajax({
url: "/fetch-data",
success: function(response) {
// update div
}
});
},1000);
});
路線
Route::get('/fetch-data', '[email protected]');
我的想法是由$.ajax
調用url: "/fetch-data"
會吐出json數據作爲迴應,而是向我展示w這不是我想要的。
對於簡單的路由和傳回數據來查看,它的罰款。但每隔幾秒更新一次視圖以更新內容而不刷新頁面......這似乎非常複雜。
關於如何在Laravel 5.4中實現這一點的任何想法,我都非常感激。
你想返回JSON響應無法查看數據迴響應() - > JSON(陣列('JSON '=> $ results_array [])) – Surace