为什么Jquery AJAX会为相对路径添加一些路径?

时间:2018-04-14 14:41:40

标签: javascript jquery ajax

我有以下代码

$.ajax({
        url: "search/prefetch",
        success: function (data) {
            $(".result").html(data);
            alert("Load was performed.");
        },
        dataType: "json"
    });

然而,请求是http://<myhost>/<another-path>/search/prefetch

当前页面为http://<myhost>/<another-path>/<some-other-paths>

时执行此请求

如何向http://<myhost>/search/prefetch提出请求?

2 个答案:

答案 0 :(得分:2)

只需在您的网址前加上/

$.ajax({
    url: "/search/prefetch",
    success: function (data) {
        $(".result").html(data);
        alert("Load was performed.");
    },
    dataType: "json"
});

您当前正在做的是告诉浏览器获取当前的url路径并将此路径追加到它的末尾。通过在其前面添加/,您现在告诉浏览器获取当前的url路径并将其替换为此新路径。

答案 1 :(得分:1)

相对论就是答案。

search/prefetch =&gt; mysite.com/<current_uri>/search/prefetch

/search/prefetch =&gt; mysite.com/search/prefetch