鍍金池/ 問答/Java  HTML/ java后臺(tái),ajax請(qǐng)求,為什么只要寫了紅框中的代碼,就會(huì)報(bào)下面的錯(cuò)誤,而寫注

java后臺(tái),ajax請(qǐng)求,為什么只要寫了紅框中的代碼,就會(huì)報(bào)下面的錯(cuò)誤,而寫注釋了的代碼,就不報(bào)錯(cuò),難道不需要轉(zhuǎn)換嗎?

圖片描述
圖片描述

@RequestMapping(value = "/get_all_news",method = {RequestMethod.GET, RequestMethod.POST},produces = "application/json; charset=utf-8")
    @ResponseBody
    public String get_all_news (){
        List<News>list_news =newsService.get_all_news();
        return JSON.toJSONString(list_news) ;
    }
回答
編輯回答
鹿惑

你看一下 data 的類型,data的類型如果是json,就不需要轉(zhuǎn)換。

json.parse 是把json字符串轉(zhuǎn)化成json的

https://developer.mozilla.org...

2017年4月8日 08:12
編輯回答
夢(mèng)一場(chǎng)

前端斷點(diǎn)看一下data是個(gè)什么吧,總感覺你后端的攔截器處理過了

2017年2月11日 22:52
編輯回答
夏木

建議改為

var news = (typeof data === 'string')? JSON.parse(data): data;
2018年8月3日 06:18
編輯回答
祈歡

很明顯,data已經(jīng)是json類型。不需要再進(jìn)行轉(zhuǎn)換。如果遇到無法判斷返回的數(shù)據(jù)是否為JSON類型數(shù)據(jù),則可以將紅框中內(nèi)容改為:

var news = (typeof data === 'string')? JSON.parse(data): data;
2018年3月9日 21:26