jQuery.ajaxのPHP配列値へのアクセスが機能していません

受付中 プログラミング
2024-12-24
hoge
私はjQuery.ajaxユーザー入力をPHPに送信し、配列を取り戻すために使用しています。応答をalert/console.logしている間、アラート内の配列が完全に表示されます。しかし、配列の個々の要素にアクセスしようとすると、undefinedエラーが発生します。配列の個々の要素にアクセスする必要があります。私は何が間違っているのですか?助けてください。 instagram.php
        $nola = array("mediac" => $bola, "userc" => $bola2);
        echo json_encode($nola);
        
jqueryajaxファイル
        var formData = jQuery('#myForminstagram').serialize();
        jQuery.ajax({
                url:'instagram.php',
                type:'POST',
                data: formData,
                success: function(response) {
                        var myuser = response.userc;
                        alert(response); //works & shows the array as {"mediac" => $bola, "userc" => $bola2}
                        alert(myuser); // doesn't work & show undefined error
                        }
            });
        
回答一覧
jsonをシリアル化したようです。プロパティdataType: 'json'をAjaxリクエストに追加して、jQueryが結果をjsonとして自動的に解析するようにしてください。後で配列やオブジェクトを出力できなくなるため、console.log()代わりにを使用する必要があります。alert()
hoge
これは、jqueryコードが応答をjsonではなくテキストとして読み取るためです。したがって、次のようにして、jsonとして読み取るように指示する必要があります。 1.instagram.phpに追加できheader('Content-Type:application/json; charset=utf-8');ます。 または 2.jqueryajaxdataType: 'json'ファイルに追加できます。
hoge