我会这样说开始:我对这一切都很陌生。我真的只是通过我能找到的一切崩溃。我是一名艺术家和作家,我只是在去年才真正开始开发这些东西。
我正在开发一个项目,它结合了 cms、项目经理和数据库前端(以及我的小组可能想要添加的任何其他内容)。我正在用 php、mysql 和 javascript 构建它。但是我在建立基金会时遇到了麻烦。
我正在尝试测试一些东西,首先是使用 AJAX 为数据后端调用 php 脚本的 mysql 查询。
这个项目有两个文件夹,一个私有的和一个公共的。一切都通过一个 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/"
我这里有一点javascript,应该调用php脚本showCode.php:
<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。所以......现在我必须相应地修复我的代码......
- 最后 - - - - - - - - -
是的...我需要在我的 showCode 脚本中包含 baseConfig 脚本。现在一切正常, .htaccess 重写到位。感谢您为我指明正确的方向。