【发布时间】:2013-07-07 12:15:43
【问题描述】:
我正在尝试从具有重写 URL 的页面中进行 ajax 调用。
request = $.ajax({
url: "myajaxcode.php",
type: "post",
data: formData
});
生成的请求是.../Folder/Rewritten_Name/myajaxcode.php
为此,网址应为.../Folder/myajaxcode.php
我还尝试在 url 中使用反斜杠:“/myajaxcode.php”,这会解析为
/myajaxcode.php
当我提供绝对 URL 或者如果我使用计算和基于 URL 并将其作为 php 文件名前缀的函数时,ajax 可以工作。但是,理想情况下,我想避免使用绝对 URL 或附加功能。
有没有更好的方法来处理 ajax 调用?
我的 htaccess 是
RewriteEngine on
RewriteBase /Folder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^Rewritten_Name/([^/]+) Rewritten_Name.php?r=$1
【问题讨论】:
-
这取决于 ajax 调用在哪个 HTML 范围内运行。包含页面的基本 url 是相关的。是的,如果您不能可靠地断言它,请使用绝对路径。
-
谢谢马里奥。是的,问题是 HTML 范围。事实上,起初 ajax 调用返回整个 HTML 页面......直到我意识到问题出在 rewrite / ajax 请求上。