teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正

2019/07/08 08:30

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -40,4 +40,13 @@
40
40
  `unexpected character at line 1 column 1`なので
41
41
  「1行目の1文字目に予期せぬ文字列が入った」= 「JSON構文で利用できない文字列が文頭にあるよ」
42
42
  ということだと推察されます。
43
- よくあるのが全角スペースとか、ファイルを読み込んでいるならBOM付とか可能性はありそうですね。
43
+ よくあるのが全角スペースとか、ファイルを読み込んでいるならBOM付とか可能性はありそうですね。
44
+
45
+ タグになかったので見落としていました
46
+ > phpから返却するデータに問題があるのか
47
+
48
+ 返却するデータ自体に問題がなくてもPHP側のエラーがあったり、PHPタグ外に出力があった場合はそれも「返される一連のデータ」として解釈されますので、パース出来ません。
49
+ DBから取得されているのでしたらそのDBに取得する流れ、SQL部分にエラーがあったりするかもしれませんしね。
50
+
51
+ というか、「DBからデータを取得しJSONでHTMLのajaxに返却」であれば
52
+ ajaxはdataType:JSONにしておき配列でデータを作ってjson_encode()で返したほうがトラブルが少なく問題の切り分けもしやすくなるとは思います。

1

修正

2019/07/08 08:30

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -35,6 +35,8 @@
35
35
  - [JSONきれい](https://tools.m-bsys.com/development_tooles/json-beautifier.php)
36
36
  - [JSON Pretty Linter Ver3](https://lab.syncer.jp/Tool/JSON-Viewer/)
37
37
 
38
+ ※タイトルの「原因の探し方」の回答としては「構文チェックにかけよう」です。
39
+
38
40
  `unexpected character at line 1 column 1`なので
39
41
  「1行目の1文字目に予期せぬ文字列が入った」= 「JSON構文で利用できない文字列が文頭にあるよ」
40
42
  ということだと推察されます。