$.getJSON(url).done(function(data) {});
return thisを使用した REST サーバーへの呼び出し
[
"{" id":1,
"medname":"Medication No. 1",
"qty":"2",
"pDay":"3",
"beforeAfterMeal":null
}", "{
"id":3,
"medname":"Medication No. 2",
"qty":"1",
"pDay":"1",
"beforeAfterMeal":null
}", "{
"id":4,
"medname":"Medication 3",
"qty":"4",
"pDay":"1",
"beforeAfterMeal":null
}
]
Chrome の console.log から。
$.each() を使用すると、3 回ループすることができます (したがって、JSON 配列に 3data[1].id
つのエントリがあることがわかります
data[1].medname
) 。undefined
null
私の疑問は、返された JSON 配列が正しいかどうかです。json_encode() (PHP) から返されるので、正しいと思います。
また、$.parseJSON()
結果が出ないようにしました。
多分私は間違った場所を見ていますか?ポインターは非常に役立ちます。
これはサーバーからの生の戻り値です ( json_encode() の後):
[
"{\"id\":1,\"medname\":\"Medication No. 1\",\"qty\":\"2\",\"pDay\":\"3\",\"beforeAfterMeal\":null}",
"{\"id\":3,\"medname\":\"Medication No. 2\",\"qty\":\"1\",\"pDay\":\"1\",\"beforeAfterMeal\":null}",
"{\"id\":4,\"medname\":\"Medication 3\",\"qty\":\"4\",\"pDay\":\"1\",\"beforeAfterMeal\":null}"
]
上記は正しいですか?そうでない場合は、どの部分が実際に間違っているかを知ることは役に立ちます。
アップデート
間違いを犯したところに到達していると思います。
サーバーで何が起こるかを次に示します。エントリごとに、 を使用して個別にエンコードjson_encode()
され、配列に追加されます。最後に、配列は再びエンコードされますjson_encode()
明示的に呼び出す前の配列の var_dump を次に示します。json_encode(array);
array (size=3)
0 => string '{"id":1,"medname":"Medication No. 1","qty":"2","pDay":"3","beforeAfterMeal":null}' (length=81)
1 => string '{"id":3,"medname":"Medication No. 2","qty":"1","pDay":"1","beforeAfterMeal":null}' (length=81)
2 => string '{"id":4,"medname":"Medication 3","qty":"4","pDay":"1","beforeAfterMeal":null}' (length=77)
間違いはここですか?最初に各エントリを個別にエンコードしないでください。:/