鍍金池/ 問答/PHP  HTML/ php返回的是json數據,其中的數字都是帶引號的,用JSON.parse()轉

php返回的是json數據,其中的數字都是帶引號的,用JSON.parse()轉換,axios就走catch了,怎么解決

clipboard.png

clipboard.png

回答
編輯回答
朕略傻

axios回來的時候已經是JS對象了,可以直接使用。不要再用parse方法

2017年12月20日 20:43
編輯回答
痞性

axios沒咋用過, 不過如果后端返回的就是json, 那么你請求的時候可以配置返回的格式為json,就不用去處理了.
如果沒法配置要通過JSON.parse解析的話就用單引號引起來 JSON.parse('{{ json_encode($phpArray) }}'), 只是這樣數組里面內容復雜了還是容易出問題.

2018年6月19日 04:28
編輯回答
陌南塵

axios自動幫你用了JSON.parse 你不用手動調用這個方法了

2017年2月19日 02:39
編輯回答
大濕胸

不是數字帶引號, 是因為這個數字本來就是一個字符串, 從PHP端傳來的就是字符串.
如果需要是數據, 讓PHP轉或者你使用的時候轉.

2018年5月22日 23:25
編輯回答
空痕

可以看一下那邊傳過來的json中數字是否是帶引號的

2018年6月16日 18:29
編輯回答
終相守

已經可以解析,說明數據沒問題,只是數據類型的問題。
可以在用的時候再處理,不過最好讓PHP那邊把數據處理好。

2018年3月7日 02:42
編輯回答
亮瞎她

帶引號說明是字符串而非數字了,最好還是去處理返回前的這些字段 解決根源才是正道啊

2018年6月1日 08:26
編輯回答
墨小白

本來就是對象就不用再解析了,
可以用的時候轉換為數字了。

2017年5月5日 11:12
編輯回答
真難過

雖然沒用過axios,但是個人感覺在響應請求的時候,它應該根據響應頭的response-type自動轉換json字符串為js對象了,所以再轉換肯定是有問題的,看你打印的數據已經是對象了

另外數字帶引號的問題,你php如果用select獲取出來的時候(不確定你ORM是怎么實現的,有的會根據字段類型,自動轉換數據),大部分都是直接返回的字符串,如果你需要整數或浮點數,可以使用intval或floatval。

2018年6月23日 17:56
編輯回答
陪我終
JSON.parse({code: '0', data:'name', msg: '正常'})

JSON.parse()解析對象是出錯的。
返回的結果本該是數字都是字符串。這個可以php(后端)來做。相對簡單。

2018年1月25日 15:33