JS 除錯中常見的報錯的解決辦法

2021-09-08 04:38:56 字數 1420 閱讀 5730

報錯:uncaught syntaxerror: unexpected token o in json at position 1

(翻譯:不能捕獲的語法錯誤:json資料位置0處發現不能識別的標記<

原因:json格式錯誤

返回資料 語句用echo json_encode($data,true);但是用了echo json_decode($data);

由於函式使用不對,返回的data不是json資料,第乙個字元是「 <」,所以報錯unexpected token < in json at position 0(翻譯:json資料位置0處發現不能識別的標記<); 

如果使用 $.ajax({})而不是 $.get() 區別:  當使用  $.ajax 時,php返回的 json字串已經被 ajax 中的屬性 datatype 將請求的引數型別要求為string型別(datatype:'json')返回為 json物件,不需要再次轉換;當使用 $.get 時,伺服器返回的資料格式為原始的字串陣列,因此,需要將返回的字串轉換為陣列,使用 json.parse(jsonstring) ,將json字串解析為json物件;

json教程見:

解決辦法:

修改為echo json_encode($data,true);

將php的**除錯** echo()去掉,就不會再報這樣的錯誤了:

$json = json_encode(array

( "resultcode"=>200,

"message"=>"查詢成功!",

"data"=>$data

),json_unescaped_unicode);

//注釋掉

/*echo($json);

*/

如果使用 $.ajax 時,不需要注釋 

//不需要注釋
echo($json);
如果不是該問題,請檢查php檔案給返回的data資料,是否標準json格式。如果php檔案中有var_dump、echo、注釋等,都會對返回的json資料有影響。

JS 除錯中常見的報錯的解決辦法

報錯 uncaught syntaxerror unexpected token o in json at position 1 翻譯 不能捕獲的語法錯誤 json資料位置0處發現不能識別的標記 原因 json格式錯誤 返回資料 語句用echo json encode data,true 但是用了e...

PHP中常見的錯誤和解決辦法

1 php常見錯誤等級 notice,warning,strict,parse error,fatal error 2 錯誤原理 常見的notice 未定義變數 常量 表單元素未定義 下標 未定義變數 解決方案 使用前定義 echo var 未定義常量 echo pi 陣列元素下標未定義 解決方案 ...

android中常見的錯誤及解決辦法

自己總結的在android中常會出現的不好解決的問題和方法 其中第三個方法經過了四天的折磨。哎 1.報錯 build failed d workspace ganji build.xml 144 the following error occurred while executing this li...