Ajax (非同步的 JavaScript 和 XML)是一套運用在客戶端用來創建非同步Web應用程式的Web開發技術。 在視圖檔導入 jQuery 庫使用 ajax來發送並從伺服器接收數據。 在伺服器端,您可以使用 response() 函數發送回應客戶端,以及發送JSON格式的回應可以使用 JSON()函數來接收回應的數據。
json()函數語法
json(string|array $data = array(), int $status = 200, array $headers = array(), int $options)
示例
第1步 - 創建一個名為 resources/views/message.php 的視圖檔,並複製下麵的代碼到此檔中。
<html>
<head>
<title>Laravel Ajax示例</title>
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script>
function getMessage(){
$.ajax({
type:'get',
url:'/getmsg',
data:'_token = <?php echo csrf_token() ?>',
success:function(data){
$("#msg").html(data.msg);
}
});
}
</script>
</head>
<body>
<div id = 'msg'>這條消息將會使用Ajax來替換.
點擊下麵的按鈕來替換此消息.</div>
<?php
echo Form::button('替換消息',['onClick'=>'getMessage()']);
?>
</body>
</html>
第2步 - 通過執行以下命令創建一個名為 AjaxController 的控制器。
php artisan make:controller AjaxController
第3步 - 成功執行後,您會收到以下輸出 -


第4步 - 複製下麵的代碼到檔 - app/Http/Controllers/AjaxController.php
app/Http/Controllers/AjaxController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class AjaxController extends Controller {
public function index(){
$msg = "這是一條簡單的消息.";
return response()->json(array('msg'=> $msg), 200);
}
}
第5步 - 添加以下行到檔 - app/Http/routes.php
app/Http/routes.php
Route::get('ajax',function(){
return view('message');
});
Route::get('/getmsg','AjaxController@index');
第6步 - 請訪問以下網址來測試Ajax功能。
http://localhost:8000/ajax
第7步 - 這將被重定向到一個頁面,你會看到一條消息,如下面的圖片所示。


第8步 - 為點擊按鈕後顯示輸出如下圖所示。


上一篇:
Laravel發送郵件
下一篇:
Laravel錯誤處理
