Ajax Request & JSON Response

在 Unit test 需要模擬 Ajax 請求時,可以在 $server 參數設定下列設定

$server = [
    'HTTP_X-Requested-With' => 'XMLHttpRequest',    // Ajax Request
    'HTTP_ACCEPT'=> 'application/json',             // 請求 JSON Response
];
<?php
class ServerTest {
    public function testAjaxRequestAndJsonResponse() {
        $uri = '/test/ajax';
        $server = [
            'HTTP_X-Requested-With' => 'XMLHttpRequest',    // Ajax Request
            'HTTP_ACCEPT'=> 'application/json',             // 請求 JSON Response
        ];
        $res = $this->call('POST', $uri, $parameters, $cookies, $files, $server);
    }
}

當設定完 HTTP_X-Requested-WithXMLHttpRequest 時,Laravel 會把這個請求視為 Ajax 請求,所以在呼叫 request()->ajax() 方法時會回傳 true

request()->ajax();  // true

當設定完 HTTP_ACCEPTapplication/json 時,Laravel 會把這個請求需要回傳的資訊視為需要 JSON 格式資料,所以在呼叫 request()->wantsJson() 方法時會回傳 true

request()->wantsJson();  // true

參考資料

KeJyun 最新新書推薦
- Laravel 5 for beginner 新手道場:優雅運用框架快速開發 PHP 網站
- Laravel框架开发详解:从零基础到运用框架快速开发PHP网站

Laravel 是 PHP 的框架(Framework),提供了很多開發網站或 API 所需的工具及環境,經過簡單的設定就可以完成資料的處理及顯示,使開發者可以很優雅且快速的開發出各個不同的產品。本書適合有 PHP 基礎的人,但不知道要怎麼選擇框架,或者不用框架的人也能夠明白它的好處。

雖然 WordPress 也能夠架站,但如果有客製化需求,要開發各式各樣的網站,或提供 App 使用的 API,如此一來你只能選擇用框架,而 Laravel 是目前最受歡迎的。

本書將解說為什麼要使用框架,以及理解框架的優缺點後,要怎麼選擇框架,並用框架快速建構一個網站。除非必要,否則書中會避免專業技術用語,盡量使用最生活化易懂的例子及語氣,讓大家更容易進入 Laravel 的世界。

Laravel 5 for beginner 新手道場:優雅運用框架快速開發 PHP 網站

購書連結

Laravel框架开发详解:从零基础到运用框架快速开发PHP网站

購書連結

comments powered by Disqus