私はこれを言うことから始めます:私はこれらすべてに非常に慣れていません。私は本当に、私が見つけることができるすべてのものを突き破っています。私はアーティストでありライターでもありますが、このようなものを本格的に開発したのは昨年のことです。
私は、cms、プロジェクト マネージャー、およびデータベース フロント エンド (および私のグループが追加したいその他のもの) を組み合わせたプロジェクトを開発しています。私はこれをphp、mysql、およびjavascriptから構築しています。しかし、私は財団の設立を乗り越えるのに苦労しています。
何よりもまず、AJAX を使用して mysql クエリをテストし、データ バックエンドの php スクリプトを呼び出します。
このプロジェクトには、プライベートとパブリックの 2 つのフォルダーがあります。そして、すべてが index.php ブートストラップ ファイルを通過します。次のような .htaccess mod_rewrite があります。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs to index.php/URL
RewriteRule ^(.*)$ index.php/$1 [PT,L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
php_value include_path "../private/libs/classes/:../private/config/:../private/config/inc/:../private/libs/smarty/:../private/libs/scripts/:../private/libs/smarty/libs/:../private/libs/smarty/libs/sysplugins/:../private/libs/smarty/libs/plugins/"
ここには、php スクリプト showCode.php を呼び出すことになっている JavaScript が少しあります。
<script>
function showCode(str)
{
if (str=="")
{
document.getElementById("code").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("code").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","showCode.php",false);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("id="+str);
}
</script>
私は自分のphpには関心がありません。すべてのスクリプトを個別にテストしましたが、問題なく動作します。ブートストラップ ファイルでも問題は発生しませんでした。私は、常に完璧に機能する比較的複雑な読み込みシステムを持っています。
問題を引き起こしているのは.htaccessであるという深刻な予感があります。mod_rewrite が原因で ajax が showCode.php ファイルに到達しない可能性がありますが、私の人生ではこれに対する答えが見つかりません。
助言がありますか?
私は何か助けが欲しいのですが、私はjqueryを扱う人ではありません...私は基本のjavascriptのインとアウトを学ぶことに本当に熱心です。それが十分にできるようになったら、図書館に移動します。
- 編集 - - - - - - - - - -
ここで得た有益なアドバイスのおかげで、.htaccess は私の問題ではないことがわかりました。AJAX関数を介して持ち込んだコードはすべて、以前のPHPセットアップ(ブートストラップを介して持ち込んだ必要なファイル)を使用するだろうと考えていました...単純に考えてみると、PHPはサーバー上で実行され、 AJAX 呼び出しは、クライアントで div をリロードするだけです。SO ...今、それに応じてコードを修正する必要があります...
- 最後の - - - - - - - - -
ええ... showCode スクリプトに baseConfig スクリプトを含める必要がありました。.htaccess の書き換えにより、すべてが機能するようになりました。私を正しい方向に向けてくれてありがとう。