2017-02-17 9 views
0

本当にこの質問に答えた人はいませんが、JavaScriptを使用してこのJSON戻り値をphp/mysqlから直接返す方法はありますか?ここでJSON配列の要素にアクセスできない

は戻りデータは、私がJSON.parseを使用し、Javascriptの変数obj

[{"stuid":"10-00002","stuname":"Meratis, Velino","stucourse":"Arts","stustat":"0","stulyear":"4","stulog":"feb 16 2017"},{"stuid":"10-00003","stuname":"Melker, Alana","stucourse":"Wilderness","stustat":"1","stulyear":"5","stulog":"feb 16 2017"}] 

にそれを保存した後、私はシンプルなobj.stunameを試みたが、それは私がそれを理解するために何度も試しただけundefinedを返すですしかし、私はこの配列をまったく使用していないようです。 誰でもこれを助けることができますか?

を私はまたreObj = {"stu":obj};スタイルを試してみたが、それが唯一の[オブジェクトのオブジェクト]を返す

ので、誰かがこの上で手の込んだしてください?

+0

PHPからどうやって取得するのですか、あなたのAjaxリクエストコードも共有しますか? – C2486

答えて

4

objはjson arrayであるため、indexを使用して要素にアクセスする必要があります。

また、stringjsonテキストをJavascriptオブジェクトに変換するには、JSON.parseを使用する必要があります。あなたがarrayを反復処理したい場合はforEachメソッドを使用し、

var stuname=obj[0].stuname; 

var obj='[{"stuid":"10-00002","stuname":"Meratis, Velino","stucourse":"Arts","stustat":"0","stulyear":"4","stulog":"feb 16 2017"},{"stuid":"10-00003","stuname":"Melker, Alana","stucourse":"Wilderness","stustat":"1","stulyear":"5","stulog":"feb 16 2017"}]'; 
 
var objParsed=JSON.parse(obj); 
 
console.log(objParsed[0].stuname);

はこれを試してみてください。

var obj='[{"stuid":"10-00002","stuname":"Meratis, Velino","stucourse":"Arts","stustat":"0","stulyear":"4","stulog":"feb 16 2017"},{"stuid":"10-00003","stuname":"Melker, Alana","stucourse":"Wilderness","stustat":"1","stulyear":"5","stulog":"feb 16 2017"}]'; 
 
var objParsed=JSON.parse(obj); 
 
objParsed.forEach(function(item){ 
 
    console.log(item.stuname); 
 
});

+0

nopeはまだundefinedと言っています:/ – Arkonsol

+0

さらに、私はPHPからJSONエンコードを使用してJsonを介してJavascriptに送信しますが、取得したデータが完全だったときは未定義と表示されます – Arkonsol

+0

これは大いに助けになりました。 forループでどのように使用するのですか? – Arkonsol

1
  1. あなたは、Ajaxを経由して、PHPからこの応答を得ている場合。 dataTypejsonとして使用して、jsonタイプの応答ではなく文字列を取得してください。

  2. は、そうしないと、次に、あなたのようにデータをフェッチすることができ、この

    obj = JSON.parse(jsonStrFromPhp); 
    

のようなJSONデータを解析する必要がobj.stunameまたはOBJ [0] .stunameは、あなたがこの{"stu":obj}かのように、PHPから返されたかによって決まりますこのように[{"stu":obj}]

+0

私は2番目を得ました。私のPHPの '[{}]'。私はそれを解析するだけでは、私は直接それを解析することはできませんが、それはちょうど '[オブジェクトオブジェクト]、[オブジェクトオブジェクト]'を返すので私はそれを解析し、その後私の応答を得るために解析しなければならなかった。それは私の問題を解決するために判明 – Arkonsol

0

私は片頭痛を持っていたのですが...なぜ私のコードが間違っていたとしても、obj = JSON.parse(jsonStrFromPhp);[object Object],[object Object]のJavaScriptしか返さなかったが、私の変数を借りて...どのように混乱。

関連する問題