javascriptからajaxでphpを呼び出す実験で
ブロックの開発で、javascriptからajaxでphpを呼び出す実験をしています。
AJAXで呼び出されるコード(xxxx.php)を、blocks/tools/xxxx.php のようにtoolsの下に置いて、
xxxx.phpの中身は以下で、呼び出されたらerrorログに、toolsと出力され、ok を返すだけのPHPです。
----
defined('C5_EXECUTE') or die("Access Denied.");
error_log("tools");
echo "ok";
---
var url = "'.$uh->getBlockTypeToolsURL($bt).'/xxxx.php";
で以下のパスを得て、
url = "/concrete5.7.5.2/index.php/tools/blocks/tomoac_form/xxxx.php";
$.ajax({
url: url,
success: function( msg ) {
alert("success:" + msg);
},
});
として動作実験してみました。
結果は、alertで、success:undefined と表示され
エラーログには、なにも表示されません。
スクリプトのエラーもありません。
つまり、呼び出しができていません。
xxxx.phpを、toolsでなく、ホームディレクトリに、xxxx.phpを置いて、
url = "/concrete5.7.5.2/xxxx.php";
で呼び出すと、うまく実行してくれます。
やっぱり、$uh->getBlockTypeToolsURL($bt) で得るURL
"/concrete5.7.5.2/index.php/tools/blocks/tomoac_form/xxxx.php";
が正しくないのかなあと思うのですが、どうなんでしょう。
takuro hishikawa
Re: javascriptからajaxでphpを呼び出す実験で
こちらの記事で紹介しています
http://notnil-creative.com/blog/archives/3550