我正在使用以下JavaScript函数来使用ajax调用来获取数据
function findName() {
var name = "Jhon";
$.ajax({
method: "POST",
url: "oc-content/themes/bender/ajax-test.php",
data: { name : name },
success: function (data) {
alert(data);
},
})
}
它调用以下php文件并且工作正常。
http://127.0.0.1/osclass/oc-content/themes/bender/ajax-test.php
但是当我在我的CMS中启用SEO友好永久链接时,当前页面的URL会附加在链接的开头,我在Chrome控制台中收到以下错误。
GET http://127.0.0.1/osclass/fashion-beauty/oc-content/themes/bender/ajax-test.php?name=Jhon 404 (Not Found)
有人告诉我如何解决这个问题吗?
答案 0 :(得分:0)
您在ajax调用中提供的网址是文档相对的。当您更改服务器的url生成方案时,也会导致ajax调用指向的url发生更改。
调整ajax网址,更改:
url: "oc-content/themes/bender/ajax-test.php",
要:
url: "/osclass/oc-content/themes/bender/ajax-test.php",
答案 1 :(得分:0)
为什么不让URL服务器相对?像这样:
function findName() {
var name = "Jhon";
$.ajax({
method: "POST",
url: "/osclass/oc-content/themes/bender/ajax-test.php",
data: { name : name },
success: function (data) {
alert(data);
},
})
}
答案 2 :(得分:0)
由于您尚未发布php
代码。我要提一下,直接浏览浏览器地址栏的任何网址都会导致GET
请求,我可以看到你在ajax中有POST
个请求,所以,它无法正常工作。
解决方法是在php端使用$_REQUEST
超级全局变量。 $_REQUEST
适用于$_GET/$_POST
次请求。