为了账号安全,请及时绑定邮箱和手机立即绑定

AJAX POST 请求无法与 .htaccess 重定向规则一起正常工作

AJAX POST 请求无法与 .htaccess 重定向规则一起正常工作

PHP
倚天杖 2023-04-15 10:41:59
这是我的 .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 文件中的代码:<?phpif(isset($_POST['valid'])){ if($_POST['valid']=='yes'){  echo 'Working'; }}
查看完整描述

3 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

在这种情况下,AJAX 可以完全工作,但唯一的区别是 ajax 不能对您的网页产生影响,如回显、调用函数等。



查看完整回答
反对 回复 2023-04-15
?
哔哔one

TA贡献1854条经验 获得超8个赞

我将 url 从“ajax.php”更改为“ http://127.0.0.1/project_name/ajax.php ”,现在一切正常。



查看完整回答
反对 回复 2023-04-15
?
千巷猫影

TA贡献1829条经验 获得超7个赞

您在 ()(圆括号)之后缺少函数


$(document).ready(function(){

         $.ajax({

          url: "test1.php",

          method: "POST",

          data: {

           valid: "yes"

          },

          success: function(data){

          $("div#r").html(data);

          }

         });

    });


查看完整回答
反对 回复 2023-04-15
  • 3 回答
  • 0 关注
  • 127 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信