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

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

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

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

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アプリケーションを実現することができます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2551閲覧

ajaxがうまくいかない

k499778

総合スコア599

PHP

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

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アプリケーションを実現することができます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/04/22 15:17

編集2016/04/22 19:40

前回の投稿の続きになります。
setTimeoutとボタン押下の処理がうまくいかない

現在cakePHP3,PHP,HTML(ctp),JavaScript(jQuery)を使ってアプリ開発をしています。

前回のコードにajaxを組み込んだのですが、
サーバーエラーが出てしまいます。なぜでしょうか?

ajaxを使ってPHPに一度行って(まだ特に処理は書いていない)またjsに返ってくるようにしたいのですが、500のInternal Server Errorが出てしまいます。

コードは以下です。

settimeout.ctp

HTML

1<!DOCTYPE html> 2<html> 3<head> 4<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 5<style> 6.box1{ 7 width: 150px; 8 height: 150px; 9 background-color: aqua; 10 margin-top: 20px; 11} 12.box2{ 13 width: 150px; 14 height: 150px; 15 background-color: red; 16 margin-top: 20px; 17 display: none; 18} 19</style> 20</head> 21<body> 22<br> 23<input type="text" id="text" oninput="red(this)"> 24<input type="button" id="aqua" value="青を表示"> 25<div class="box1"></div> 26<div class="box2"></div> 27</body> 28<script> 29// ボタン押下時、「青」に変える 30var timer = false; 31$("#aqua").click(function(){ 32 if (timer !== false) { 33 clearTimeout(timer); 34 } 35 $('div.box1').show(); 36 $('div.box2').hide(); 37 $('#text').val(''); 38 39}); 40 41// 「赤」に変える。oninput処理を何度も走らせないため1秒後に実行 42function red(_this){ 43 if (timer !== false) { 44 clearTimeout(timer); 45 } 46 timer = setTimeout(function(){ 47 48 $.ajax({ 49 url: "http://localhost/cakephp3/sample/blue", 50 }).done(function(){ 51 52 $('div.box1').hide(); 53 $('div.box2').show(); 54 console.log(_this.value); 55 56 }).fail(function(){ 57 console.log('error!!!'); 58 }); 59 },1000); 60} 61</script> 62</html> 63

SampleController

Php

1<?php 2namespace App\Controller; 3 4use App\Controller\AppController; 5 6class SampleController extends AppController 7{ 8 9 //初期表示で呼ばれるアクション 10 public function setTimeout() 11 { 12 13 } 14 15 //Ajaxで呼ばれるアクション 16 public function blue() 17 { 18 $this->autoRendor =false; 19 20 } 21} 22

もしわかる方がいればお願い致します。

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

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

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

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

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

ItoTomonori

2016/04/22 16:35

500エラーですので、PHP側の問題でしょう。 PHPの前後のコードも示されると、ヒントがでるかもしれません。
k499778

2016/04/22 19:35

Controllerクラスの全コードを記しました。
guest

回答2

0

回答にはなっていませんが、こういうときはまず問題の切り分けのために、直接 http://localhost/cakephp3/sample/blue を呼んでみる(ブラウザだったり、wget や curl だったり)のがよいかと思います。見たところ、PHP 側の問題のように思えますが。

投稿2016/04/22 15:25

unau

総合スコア2468

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

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

0

自己解決

自己解決致しました。

autoRenderのスペルミスでした。
autoRendorになっていたため、ビューを切り離せておらずエラーが出てしまっていたようでした。
失礼致しました。

投稿2016/04/22 19:44

k499778

総合スコア599

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問