启用永久链接的JavaScript URL问题

时间:2016-06-17 09:16:54

标签: javascript jquery

我正在使用以下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)

有人告诉我如何解决这个问题吗?

3 个答案:

答案 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次请求。