我想从一个页面内重写一个URL来进行ajax调用。来自重写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就可以工作。不过,理想情况下,我想避免使用绝对网址或其他功能。
有没有更好的方法来处理ajax调用?
我的htaccess是
RewriteEngine on
RewriteBase /Folder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^Rewritten_Name/([^/]+) Rewritten_Name.php?r=$1
这取决于在哪个HTML范围内运行ajax调用。包含页面的基本URL是相关的。是的,如果您无法可靠地断言,请使用绝对路径。 – mario
谢谢马里奥。是的,问题在于HTML范围。实际上,首先ajax调用返回整个HTML页面......直到我意识到问题出在了rewrite/ajax请求上。 – perNalin