[問題] Ajax回傳PHP結果可以加IF嗎

看板Ajax作者 (WeiJlin)時間7年前 (2017/07/04 18:42), 編輯推噓1(1015)
留言16則, 10人參與, 最新討論串1/1
事情是這樣的 寫了一個html的註冊頁面使用了Ajax去連結PHP 目前也是成功的 確認完帳號無人使用後會回傳 " 註冊成功 " 結果視窗會用jQuery的POP視窗彈出 不過最近自己在試的時候發現一個問題 不論是註冊成功或失敗(帳號重複、資料錯誤)的時候 這個視窗關掉都只停在註冊頁面 我的想法是看可不可以用IF去判斷 如果PHP是回傳成功 就把彈出視窗的確認連結改成回登入頁面 而回傳註冊失敗按下確認就停在註冊視窗 php端 那邊在經過帳號檢測後成功的程式碼是 echo "註冊成功" 失敗是 echo "資料填寫錯誤" 用Ajax回傳後 success:function(msg){ $('#returnmsg').text(msg); }, 回傳的msg確認是字串了 但使用if判斷卻都錯誤 if (msg = "註冊成功"){ A } else{ B } 即便回傳結果是註冊成功依然執行B 是應該把這個判斷怎麼修改呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.227.114.81 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1499164920.A.4F4.html

07/04 19:13, , 1F
等於要二個或三個吧?== ===
07/04 19:13, 1F

07/04 19:31, , 2F
中文編碼吧? 不要用中文,改用代號表示狀態
07/04 19:31, 2F

07/04 19:34, , 3F
當然等號也要記得改
07/04 19:34, 3F

07/05 12:39, , 4F
因為if條件不等於,所執行b。你的"等於"符號要2或3個。
07/05 12:39, 4F

07/05 12:40, , 5F
ajax執行後,回應碼,建議用數字會比較好,少掉中文編碼
07/05 12:40, 5F

07/05 15:50, , 6F
標準的javascript都不會就用jquery
07/05 15:50, 6F

07/06 12:34, , 7F
這年頭原生 ajax 沒有必要學
07/06 12:34, 7F

07/07 01:06, , 8F
改學 fetch 吧
07/07 01:06, 8F

07/07 12:06, , 9F
感覺問題比較大的是因為if判定是在ajax 外面
07/07 12:06, 9F

07/07 12:06, , 10F
跑到if (...) 那邊時候msg未必有值
07/07 12:06, 10F

07/08 15:02, , 11F
先學javascript吧
07/08 15:02, 11F

07/09 22:17, , 12F
為何不回傳JSON格式呢
07/09 22:17, 12F

07/27 16:45, , 13F
通常php回傳成功會用數字或是布林值
07/27 16:45, 13F

07/27 16:45, , 14F
很少使用中文 怕編碼問題
07/27 16:45, 14F

07/27 16:46, , 15F
然後再用前台去alert出來你要給使用者看到的文字
07/27 16:46, 15F

07/27 16:46, , 16F
再來if裡面是兩個或是三個等於...
07/27 16:46, 16F
文章代碼(AID): #1PMt3uJq (Ajax)
文章代碼(AID): #1PMt3uJq (Ajax)