報錯: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...