---
# System prepended metadata

title: 筆記PHP_工作水坑_20201127日更新_很重要要時常看
tags: [工作, Ajax, jQuery, javascript, PHP]

---

# 筆記PHP_工作水坑_20201127日更新_很重要要時常看

-----
###### tags: `工作` `PHP` `Ajax` `javascript` `jQuery`

文章內成就皆不來自於我

----
### 問題1 前後傳static用(string)0, -1判斷
### 問題2 任何出現給使用看的訊息
### 問題3 使用者體驗
### 問題4 不論是誰寫的code只要出問題就是找負責專案的人
### 問題5 要如何測試
### 問題6 備份專案
### 問題7 思考邏輯

----

今天工作上落入了一個很糟的狀況
自以為問題很簡單,隨便測試過後就放上線了
網站就這樣開放,但所有人都看到了錯誤的程式碼


# 問題1
平常用的Ajax方法
```javascript=
$ .ajax（{ 
  url：'..url'，
  method：'POST'，
  data：Data = {'name'：'joker'} 
  dateType：'json'success 
  
  success： function（resp）{ 
    //成功
  }，
  error： function（）{
    // 失敗
  } 
})
```
data 那邊為 obj轉 JSON.stringify(JSON字串)
使用dateType: 'json' 回來的資料不用需要使用 JSON.parse 轉成Jason物件
```
dateType: 'json'  //回來的資料不需要 JSON.parse
```
後端寫法php
```
$ obj = json_decode（$ data）;
$name = $obj->name; // 調用資料
```

返回json_encode（array（'name'=> $ name））;
回傳資料形式
```
{'name'：'joker'}
```

前後端的資料都是以**字串**來傳輸
**只是回到前端時會資料被 jQ自動轉回成物件，所以前端在接資料時就有可能會出現 "問題"**

[JSON.parse()](https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse)


***以下分成*一般寫法*跟*公司寫法* 非正常寫法***
ajaxc回傳成功後
```javascript=

// resp是json物件
success：function（resp）{ 
  // 取json物件中的訊息
  var msg = result.mes;
  // 訊息中找特定字串
  msg = msg.replace(/#BR/g, "\r\n");
  // 出訊息
  alert(msg);
  // 判斷成功失敗
  if(result.status === 'true') {
    window.location.reload();
  }
},
```

```php=
array('mes' => urldecode('登記成功，感謝您的登記。#BR抽PS5購買資格公告，請於12/04 09:00 至家樂福官網查詢'), 'status' => $status);
```









