gpt4 book ai didi

php - ajax 表单请求不适用于 mod_rewrite

转载 作者:搜寻专家 更新时间:2023-10-31 21:04:53 24 4
gpt4 key购买 nike

问题是当url被mod_rewrite重写时,它不会调用ajax请求。

但是当我从链接中删除最后一个斜线时它起作用了。

示例链接:

使用这个 url 就可以了

http://localhost/project/user-list

http://localhost/project/user_list.php

但是当 url 看起来像这样(添加斜杠结束)ajax 请求不起作用。

http://localhost/project/user-list/

这是我的 .htaccess:

RewriteEngine   On
RewriteRule ^user-list/?$ user_list.php [QSA,L]

.js 文件的调用如下所示:

<script src="<?php echo BASE_URL; ?>/js/file.js"></script>

BASE_URL 定义为:

define('BASE_URL', 'http://localhost/project');

我使用插件 jquery form 创建者 malsum .

表格示例:

jQuery:

$('#form_example').ajaxForm({ 
success: function(result) {
alert("success");
}
});

HTML:

<form id="form_example" action="process.php" method="post">
<input type="text" name="name" placeholder="Enter your name" />
<button type="submit">Submit</button>
</form>

最佳答案

这是因为您的相对 URI 的基础已更改。最初,基数是 /project当页面为 /user-list.php , 并且浏览器正确填写了带有 /project/ 的相关链接根据。但是当浏览器转到类似 /project/user-list/ 的页面时基地突然变成/project/user-list它会尝试将其附加到所有相对 URL 的前面,因此它们都不会加载。

您可以使您的链接成为绝对链接,或者更改您页面标题中的 URI 基础(在 <head> </head> 标记之间):

<base href="/project/">

关于php - ajax 表单请求不适用于 mod_rewrite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34291189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com