这是我的 .htaccess 文件。可以看出,所有内容都通过 index.php 重定向。
<IfModule mod_rewrite.c>
Options -Multiviews
RewriteEngine On
RewriteBase /project_name/public
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
</IfModule>
现在这是一个位于我的视图文件夹之一的文件 (viewname.php)(这是一个 MVC 风格的项目)。从这里可以看出,我正在向与 index.php 位于同一文件夹(即文件夹 public)中的文件 ajax.php 发出 AJAX POST 请求。请注意,我没有将 url 写为“../something”,因为我正在通过 index.php 重定向所有内容。我通过<?php echo __FILE__;?>在该文件中写入 , 来确认返回了结果 index.php。如果 AJAX 请求成功,我应该在 ID 为“r”的 div 中获得“Working”输出。但那不会发生。我也没有在控制台中收到任何类似jquery.min.js:4 POST http://127.0.0.1/project_name/public/file_name.php 404 (Not Found)的错误,我以前在没有它的项目中.htaccess 文件。当我console.log(data)我在控制台的 index.php 文件中看到了 HTML 代码,在本例中是 Bootstrap 和 JQuery 的 CDN。我应该对我的 AJAX 代码或 .htaccess 文件进行哪些更改?
<div id="r"></div>
//JQuery AJAX
$(document).ready(function(){
$.ajax({
url: "ajax.php",
method: "POST",
data: {
valid: "yes"
},
success: function(data){
$("div#r").html(data);
}
});
});
这是 ajax.php 文件中的代码:
<?php
if(isset($_POST['valid'])){
if($_POST['valid']=='yes'){
echo 'Working';
}
}
尚方宝剑之说
哔哔one
千巷猫影