目前大家網路交換格式大多用 json,前幾天踩到一個雷,送出需求到一個網頁以後,該頁面會將 html 的內容回吐,格式像是:
{ "status": "done", "html": "<ul><li><a href=\"#\">link</a></li></ul>" }
但當 conosole.log()
的時候內容被截斷了,出現可能只有 link</a></li> 之類的,原因很簡單,我的 output PHP 沒有給 content type,所以造成 request 頁面雖然可以解析 json format,但其實是 jQuery 硬做掉的,平時還是不要偷懶,記得要 output 什麼內容就加上該對應的 content type 吧。
// PHP header('Content-Type: application/json; charset=utf-8'); // CodeIgniter $this->output->set_content_type('application/json')->set_output(json_encode(compact('result'))); // Laravel 5+ use Illuminate\Http\Response; return response(compact('result'), $status)->header('Content-Type', 'application/json'); // Or return response()->json(compact('result'));
沒有留言:
張貼留言