我有一个ajax调用,但它没有得到PHP文件的响应,它似乎是加载404而不是.
地址栏中的网址是“mydomain.com/checkcity/”
带有ajax的文件的位置是“/PHP/advert/script.PHP”
要调用的PHP文件的位置是“/PHP/advert/available.PHP”
我通过使用htaccess使用虚拟URL.
这是我的ajax电话:
$.ajax({
type: "POST",
url: "/available.PHP",
data: "city="+city,
success: function(response){
alert(response);
}
});
这是我的htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.PHP$- [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.PHP [L]
</IfModule>
我注意到的一件事是当我在地址栏中搜索url时,它将加载PHP文件,而不是使用ajax调用.
我目前在Apache 2.2 localhost上运行它
谢谢你的任何建议.
解决方法:
我假设您在浏览器的错误日志/控制台中看到404错误消息?它还应该显示返回404响应的URL,根据您的请求,该响应将是:http://www.mysite.com/available.PHP.
问题
问题是您的ajax调用在URL参数的开头包含/.这表示网站的根域(即它指向http://www.mysite.com/available.PHP).
url: "/available.PHP",
解
只需将url参数更改为以下正确的URL之一即可
url: "http://www.mysite.com/PHP/advert/available.PHP",
要么
url: "/PHP/advert/available.PHP",
要么
url: "available.PHP",
要么
url: "./available.PHP",
澄清代码
$.ajax({
type: "POST",
url: "/PHP/advert/available.PHP",
data: "city="+city,
success: function(response){
alert(response);
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。