質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

480閲覧

encodeしたjsonをphpのviewで変数として使いたい。

momolength

総合スコア62

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2021/04/08 02:23

編集2021/04/08 04:26

仕様フレームワーク
cakephp2

js

1$.ajax({ 2 type: 'POST', 3 url: '', 4 data: { 5 }, 6 dataType: 'json', 7 success: function(response) { 8 }, 9 error: function() { 10 } 11});

controller

1$response = array( 2 'status' => AJAX_STATUS_NG, 3 'error_message' => '', 4 'data' => array(), 5 'request_uri' => , 6 'client_ip' => , 7 'post_params' => array(), 8); 9・・・ 10 $json = json_encode($response); 11 echo $json;

こんな感じで書いています。内容は省いています。
echoで送られたものがsuccessのresponseに返ります。

このresponseとか中のresponse.dataをviewで$responseみたいな感じで使い、配列とか表示したいでうs。
$response['data']的な。

decodeを書くにしても、jsの中で書けばいいんですか?

viewでcontrollerでencodeしたものを使えたらいいです。ifとかの判定で。
js内では、response.dataとかかけばいけるんですが、phpの中でこれが使えますか?その場合の記述の仕方はありますか?
やはりデコードしてってなると思うんですが、その場合の記述の仕方がわからず。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tabuu

2021/04/08 03:38 編集

JSONにエンコードする前の「$response」という変数をそのまま使えばいいのでは? ↑訂正 JSONにエンコードする前の「$response」という変数が使えない理由があるのですか?
momolength

2021/04/08 03:59 編集

表示させたいphpとアクションが違うんです。 json専用のアクションを作っています。 その為setしても、変数が使用したいphpで認識されないんです。
FKM

2021/04/08 04:23

ビューとかコントローラーとか言ってるので、使用しているフレームワークを教えて下さい
momolength

2021/04/08 04:26

タグに追加しただけで、書いてなかったです失礼しました。 cakephp2です。 追記します。
tabuu

2021/04/08 04:44

質問のタイトルはphpのviewとありますが、本文はjavascriptのsuccessで使いたいと書いています。 どっちですかね。
momolength

2021/04/08 04:51

書いてないです。 decodeしたものをphp中か、encodeし、responseとして返ってきたものをそのままorなんらかの形でphp中で使える方法はないか問うています。 js内) response.data php内) response.data ←的な?
FKM

2021/04/08 05:32 編集

Ajaxで取得した値はスクリプト上に確保できているんですか?それなら可能ですが
tabuu

2021/04/08 05:34

揚げ足とるつもりではありませんが、やりたいことを正確に伝えないと回答は得られ難いですよ。 ●タイトル encodeしたjsonをphpのviewで変数として使いたい。 ●本文(抜粋) echoで送られたものがsuccessのresponseに返ります。 このresponseとか中のresponse.dataをviewで$responseみたいな感じで使い、配列とか表示したいでうs。 >decodeしたものをphp中か、 先に書いたjson_decodeという関数でデコードできます。 >encodeし、responseとして返ってきたものをそのままorなんらかの形でphp中で使える方法はないか問うています。 responseとして返ってきたということはクライアントのJavaScriptの処理になりますので、そこからPHPにつなげるのは無理です。 (さらにAjaxでPHPの処理にJSONデータを渡すことは可能ですが)
momolength

2021/04/08 06:35

>先に書いたjson_decodeという関数でデコードできます。 php中でdecodeをし、それを変数にいれてvardumpしても値は取れないです。 >(さらにAjaxでPHPの処理にJSONデータを渡すことは可能ですが) 渡したい方のactionにpostするってことであっていますか? それは、本文の書き方をもう一度successの中に書く感じですか?
tabuu

2021/04/08 07:32

次のようなPHPのプログラム書いても何も表示されないですか? <?php $dat = array(1, 2, 3); $enc = json_encode($dat); $dec = json_decode($enc); var_dump($dec);
momolength

2021/04/08 07:52

それはされると思います。 正規のパターンであり、新しく作っているものなので。 今回のものとはまた変わってきますよね。
tabuu

2021/04/08 08:04

$responseという配列を作ってエンコードしているので同じでしょう? 違うということであれば前提や説明を省略しすぎています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問