Php AJAX与URL重写
我有一个HTTPAccess文件apache服务器,我正在进行以下url重写:Php AJAX与URL重写,php,ajax,.htaccess,url-rewriting,Php,Ajax,.htaccess,Url Rewriting,我有一个HTTPAccess文件apache服务器,我正在进行以下url重写: RewriteRule questionnaire/adminpassword questionnaire/change_admin_password.php 在我的javascript文件中,我正在进行AJAX调用,如下所示: $.ajax({ type: 'POST', cache:false, url: 'change_admin_password.php',
RewriteRule questionnaire/adminpassword questionnaire/change_admin_password.php
在我的javascript文件中,我正在进行AJAX调用,如下所示:
$.ajax({
type: 'POST',
cache:false,
url: 'change_admin_password.php',
data: {'currentPassword':currentPassword, 'newPassword': newPassword},
dataType: 'html',
success:function(response){
alert(response);
},
error:function(){
alert("error");
}
});
我将ajax调用中的url更改为:url:'adminpassword',但是现在调用会重新加载页面并获取其内容,而不是在服务器上运行php脚本并给出响应。我做错什么了吗?谢谢您知道,如果只使用“adminpassword”,您将获得一个相对路径。确保当前路径正确,否则使用完整路径,可能是“问卷调查/管理员密码” 尝试直接访问URL。在浏览器中键入它。你得到了什么?你是否得到了预期的回应?然后使用chromedevtools或firebug等工具检查ajax调用发出的实际请求。请求是否命中了正确的URL
如果你找到了正确的URL,问题可能出在服务器上。我知道这是一个老问题,但我想我知道这里发生了什么,这可能会在将来帮助其他人 当您使用questionly/adminpassword时,您的.htaccess文件将其转换为questionly/change_admin_password.php,我猜您正在将所有访问站点的请求重定向到根文件夹中的index.php文件,该文件处理url,并要求特定文件添加页眉和页脚,在发出ajax请求时也一样 为了避免重定向到处理该文件的索引文件,您可以完全避免这种情况,方法是允许直接访问.htaccess文件中的特定文件夹,如下所示
重写cond%{REQUEST_FILENAME}/api其中api是javascript调用的脚本所在的文件夹如果发出get请求,您会遇到同样的问题?是,get也会遇到同样的问题