Rails 使用 JavaScript 原生的 fetch 很簡單
WriterShelf™ is a unique multiple pen name blogging and forum platform. Protect relationships and your privacy. Take your writing in new directions. ** Join WriterShelf**
WriterShelf™ is an open writing platform. The views, information and opinions in this article are those of the author.
Like
or Dislike
About the Author
很久以前就是個「寫程式的」,其實,什麼程式都不熟⋯⋯
就,這會一點點,那會一點點⋯⋯
More to explore
我以前都很習慣用 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 了。