Rails 使用 JavaScript 原生的 fetch 很簡單
喜歡作者的文章嗎?馬上按「關注」,當作者發佈新文章時,思書™就會 email 通知您。
思書是公開的寫作平台,創新的多筆名寫作方式,能用不同的筆名探索不同的寫作內容,無限寫作創意,如果您喜歡寫作分享,一定要來試試! 《 加入思書》
思書™是自由寫作平台,本文為作者之個人意見。
給本文個喜歡
或不
關於作者
很久以前就是個「寫程式的」,其實,什麼程式都不熟⋯⋯
就,這會一點點,那會一點點⋯⋯
看看作者的其他文章
看看思書的其他文章
我以前都很習慣用 JQuery 的 AJAX,但是最近我發現 JavaScript 原生的 fetch 也很好用,搭配上 json,使用起來也很方便,至於,何時會用 AJAX,何時用 fetch,這是我的建議:
以下就是 Rails 使用 fetch 的三步驟。
第一步,先來寫 javascript 部份:
第二步,當然就是來寫 Rails 的部份了:
以下的碼就是要放在 your_controller 中:
這個程式只做了一個很簡單的事,就是檢查字串長度,結果就放在 json 中傳回。
第一行是關閉 CSRF 保護,照理說要自己再寫 forgery protection,只是⋯⋯ 如果⋯⋯ 好像不是很重要的資料時,大家就都算了。
第三步, 加入 route:
結束,就這樣
所以夠簡單吧,fetch 的速度比上 JQuery AJAX 一般都會是兩倍以上,不過兩者都很快啦,效率一般都不是考慮的主要因素,就如同文章一開頭,我是如果要做沒有 params 的 get 動作時,我就會用 JQuery AJAX,但是看各位的喜好啦,就算要用 fetch 來做有 params 的 get 動作也很容易,就是把 params 加在 url 內,用 JQuery 很容易做到的:
fetch 跟著 ES6 出現很久了,幾乎沒有瀏覽器不支援了,我想,我應該會越來越常用它,畢竟跟 JQuery 比,都一樣簡單好用,這時,好像沒有理由要用 JQuery 了。