Soft_Job 板


LINE

前些日子我在做某公司的測驗,整個測驗內有一個頁面,是單純顯示今日星座運勢。 我的做法是,後端的收到請求後撈出資料,接著再用json_encode的方式放在script bloc k內,因為頁面上是能切換星座來顯示運勢,所以我想用變數存起來。 fortune: JSON.parse('<?php echo json_encode($fortune); ?>') 但最後對方給的測驗結果是不適合,feeback是「在js script裡面插php json_encod」 請問這種做法是會造成什麼問題嗎? --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.131.187 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1599724796.A.5A3.html
1F:推 chan15: 你都已經是在該頁寫義大利麵了,幹麻 encode 再 parse.. 09/10 16:03
2F:推 knives: ok阿,要挖坑給別人,這樣最好 09/10 16:07
3F:→ zxc8899546: 真的想知道什麼是正確做法,不是想挖坑 09/10 16:46
4F:推 Boston: 沒有所謂的正確做法.... 你這樣做也可以的 09/10 17:18
5F:→ kangan987: 該頁面是php頁面吧? 是的話判斷完星座你直接echo 資 09/10 17:18
6F:→ kangan987: 料就可以了吧..? 09/10 17:18
7F:→ Boston: 比較「現代」的做法會是 fortune: JSON.parse(ajaxCall()) 09/10 17:19
8F:→ Boston: 透過 ajaxCall() 來從後端 fetch data 09/10 17:19
9F:→ zxc8899546: 但我傾向做一次request就好了,所以我是用這樣的方式 09/10 17:31
10F:→ zxc8899546: 把需要的資料放到前端 09/10 17:31
11F:→ Boston: 並沒標準答案,可能該團隊重視 MVC 09/10 17:36
12F:推 tsao1211: 如果這頁面內是整個由後端給出來而不是SPA,沒道理不能這 09/10 18:02
13F:→ tsao1211: 樣用,頂多優化成Jason encode的字串先用變數存起來,js 09/10 18:02
14F:→ tsao1211: 這邊直接echo字串即可 09/10 18:02
15F:推 alihue: 其實他們用 C# 。開玩笑的,基本上前後端分離還是建議用 09/10 18:04
16F:→ alihue: js 來趴 09/10 18:04
17F:→ tsao1211: 因為有些作法是傾向view頁面盡可能少邏輯和運算 09/10 18:05
18F:→ mackliu: 問題不在於造成什麼問題,而是寫程式的風格,你的團隊應該 09/10 19:39
19F:→ mackliu: 去溝通一個大家都遵守的風格或開發模式出來 09/10 19:40
20F:→ NewSpec: 寫得很創意呀,適合轉行做UI/UX 09/10 20:54
21F:→ ssccg: 為什麼要json_encode再JSON.parse? 直接輸出JS不就好了 09/10 21:44
22F:→ ssccg: 用了json_encode塞在''中間,還要考慮escape ' 09/10 21:49
23F:推 lturtsamuel: 可以的 你如果上了跟我說一下 我好避開 09/10 22:05
24F:推 INFJ: 沒問題,php一行能搞定,用ajax反而更多行程式碼,還要考慮 09/10 22:57
25F:→ INFJ: 異步。簡單的東西就用簡單的做法解決 09/10 22:57
26F:推 MacPerson: 這些發很怪...... 09/10 23:05
27F:→ MacPerson: 寫法 09/10 23:05
28F:→ lazarus1121: 跟在後端看到一堆角括號一樣美 09/10 23:13
29F:→ Geison: 看應徵什麼吧 前端?後端?php工程師? 09/11 00:09
30F:→ Geison: 應徵前端這樣寫 不太符合潮流 09/11 00:11
31F:→ Rinorune: fortune = fortune || getFortune() 09/11 00:19
32F:→ Rinorune: 上面是純前端的一種做法 前後端分離 比較好維護 09/11 00:25
33F:推 Hevak: JSON 在舊一點的 JS 引擎不一定合 JS 語法,要有實作 ES201 09/11 01:26
34F:→ Hevak: 9 JSON superset 的環境才有辦法完全支援,這個算是直接把 09/11 01:26
35F:→ Hevak: JSON 丟到 code 裡面要考慮的地方 09/11 01:27
36F:推 Hevak: 然後就算你有用單引號包起字串,也要注意輸出的 JSON 有沒 09/11 01:38
37F:→ Hevak: 有正確 escape 掉,可以注意一下像是 json_encode 有一些選 09/11 01:39
38F:→ Hevak: 項可以處理這些問題,可以拿像是「XSS JSON_HEX_TAG」之類 09/11 01:39
39F:→ Hevak: 的關鍵字去查一下別人怎麼避免這些安全風險 09/11 01:39
40F:推 bakedgrass: 謝謝分享。不過也提醒一下PTT有AJAX板 09/11 02:50
41F:推 superpai: 這樣做法的問題是對js來說fortune會是一個全域變數,增 09/11 07:18
42F:→ superpai: 加維護的困難。但是這不算是技術問題就是了。 09/11 07:18
43F:→ realbout: 不太喜歡這種寫法... 09/11 10:36
44F:→ erspicu: 不要有啥特殊問題狀況 都OK 風格問題 每個人有自己的毛 09/11 10:44
45F:→ erspicu: 真的有遇到特殊狀況撞牆再改就是 09/11 10:45
46F:→ zxc8899546: 了解了,謝謝大家許多意見 09/11 12:52
47F:推 leveger0903: 我在公司的專案也會這樣做 09/11 18:48
48F:→ leveger0903: 但老實說這樣寫以後其他人接手會不好維護 09/11 18:49
49F:→ sniper2824: 不好維護應該可以寫註解吧o_O 09/11 19:20
50F:推 zexon97: 群X齁 09/11 21:37
51F:→ zxc8899546: 想解釋一下,這是後端職缺的測驗,題目是實作laravel 09/12 09:06
52F:→ zxc8899546: auth&每小時爬蟲星座資訊存起來。這頁是我雞婆做的, 09/12 09:06
53F:→ zxc8899546: 想說登入可以順便看資料而已,但他們針對這頁的做法 09/12 09:06
54F:→ zxc8899546: 來reject,因此我才好奇這個做法會造成什麼大問題嗎? 09/12 09:06
55F:推 kurtsgm: 我覺得沒啥大問題 頂多是沒有前後分離得很乾淨而已吧 09/12 10:18
56F:→ taikobo: 求職這件事本來就很看緣分,這不一定是被拒絕的真正理由 09/12 12:01
57F:→ superpandal: 你括號裡面又不是json 根本不合需求 09/12 18:10
58F:→ superpandal: 這感覺是在亂做 09/12 18:11
59F:→ superpandal: 所以是用php直接生出js代碼... 搞錯 一樣是爛做法就 09/12 18:13
60F:→ superpandal: 是了 09/12 18:13
61F:推 superpandal: 應該只有老系統會這樣寫 前後端分不開了 09/12 18:16
62F:→ superpandal: 這還有個致命的地方 如果東西是敏感訊息會很危險 09/12 18:22
63F:推 s861175: 這是間好公司 正確的篩掉不適合的人 10/20 10:26
64F:推 tsao1211: 徵後端工程師 結果用js來刪人 這公司好在哪裡? 11/29 08:03







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP