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

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

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

NetBeansは Java、HTML5、PHP、C/C++のアプリケーションのフレームワーク、もしくは統合開発環境(NetBeans IDE)の両方を指します

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

解決済

1回答

2277閲覧

ajaxとCakePHPのコントローラーのリダイレクト

j-nagnn

総合スコア21

NetBeans

NetBeansは Java、HTML5、PHP、C/C++のアプリケーションのフレームワーク、もしくは統合開発環境(NetBeans IDE)の両方を指します

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2020/08/19 08:17

登録画面のボタンを押して、Ajaxを用いたデータのやり取りをしたあと、一覧画面に戻るというプログラムを作りたいです。ですが、一覧画面に戻るときにエラーが起きてしまいます。動きを追うと、Ajaxに記載している'.done()'と'.fail()'のどちらにも入らなかったあと、再度データのやり取りを行っているコントローラーの関数に入って、コードの中にある(*1)文字が画面にでていました。Ajaxの'.done()'に入れるようにするにはどうすればよいのでしょうか?

[View]

jquery

1 $(function(){ 2 $('.koushin').on('click',function(){//更新ボタン 3 $.ajax({ 4 url:"/bank/modaledit", 5 type: "post", 6 dataType: "json", 7 data: { 8 "Bk.code":$('#Ubk_code').val(), 9 "Bk.name":$('#Ubk_name').val() , 10 "Bk.number":$('#Ubk_number').val(), 11 "Bk.recipient":$('#Ubk_recipient').val(), 12 "Bk.updatetime":$('#udatetime').val() 13 }, 14 }) 15 .done(function(data){ 16 arert(data); 17 18 }) 19 .fail(function (jqXHR, textStatus, errorThrown){ 20 alert('更新できませんでした'); 21 console.log("ajax通信に失敗しました"); 22 console.log("jqXHR : " + jqXHR.status); // HTTPステータスが取得 23 console.log("textStatus : " + textStatus); // タイムアウト、パースエラー 24 console.log("errorThrown : " + errorThrown.message); // 例外情報 25 26 }); 27 modal_close(); 28 }); 29 30});

[controller]

PHP

1class BkController extends AppController{ 2 public function index(){ 3 try 4 { 5 6 $data = $this->find('all'); 7 $this->log( $this->Bank->getDataSource()->getLog(), 'debug');//SQLログを 8 if(!$data){ 9 throw new Exception('一覧に表示するデータがありません。'); 10 }else{ 11 $this->set('data',$data); 12 } 13 } catch(Exception $ex) { 14 $this->log($ex,'error'); 15 echo "error:".$ex->getMessage(); 16 } 17 } 18 19 public function modaledit(){ 20 21 if($this->request->isPost()) { 22 $this->Bk->id = $this->data['bk']['code']; 23 $this->Bk->save($this->data , false); 24 $this->autoRender = false; 25 return json_encode('Processing success'); //*1 26 } 27 $this->redirect('/bk/index'); 28 } 29 30}

開発環境:netbeans
フレームワーク:CakePHP2.x
ブラウザ:googlechrome

追加してほしい補足してほしい情報があれば、お尋ねください。
よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

まず、「alert」の綴がちがうのは大丈夫ですか?
postするデータをスタティックなものに変えて、もどすjsonも
$_POSTをそのまま返すようにしてテストするところからです

投稿2020/08/20 00:30

編集2020/08/20 00:31
yambejp

総合スコア116724

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

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

yambejp

2020/08/20 00:31

//send.html <script> $(function(){ $.ajax({ url:"recv.php", type: "post", dataType: "json", data: { "Bk.code":1, "Bk.name":2, "Bk.number":3, "Bk.recipient":4, "Bk.updatetime":5, }, }).done(function(data){ console.log(data); }).fail(function (xhr,err){ console.log(err); }); }); //recv.php <?PHP print json_encode($_POST);
j-nagnn

2020/08/20 01:57

encodeするのは、’$_POST’ のままで大丈夫なんですか?「スーパーグローバル$_POST配列に直接アクセスしないでください。」って警告が出ました。
j-nagnn

2020/08/20 01:57

alertはスペルミスがありました。
yambejp

2020/08/20 09:53

> スーパーグローバル$_POST配列に直接アクセスしないでください。 まぁあくまでテストですから、動作確認しながら順位機能拡張していってください
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問