在AJAX请求中作为URL传递的变量重复部分URL

时间:2017-03-02 21:54:56

标签: javascript jquery ajax url request

var templateLink = envVars.rootTemplateFolder + $(this).attr('link');
console.log("templateLink : ", templateLink);

    $.ajax({
        method: "GET",
        url: templateLink,
        context: this,
        success : function(result){
            var theHtml = result.toString();
                $(this).replaceWith(theHtml);
            }

templateLink应该=" resources / spa /templates/header.html"并根据控制台日志。

但我总是得到404" 资源/水疗/资源/水疗中心 /templates/header.html"

我可以取出变量并只传递基本字符串" resources / spa / templates / header.html" 而且,我仍然得到重复。

如果只是将它保留为" /templates/header.html" ;,那么它就不会重复" resources / spa"当然,字符串的其余部分不存在现在。因此,这表明传递给AJAX调用的对象正在被解析和更改。

如何阻止这种情况?我很困惑为什么这样做。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

没有得到解析或更改。问题是你没有考虑到ajax将它添加到你所在的路径位置的路径。所以,如果你是http://yoursite/resources/spa/templates/header.html并且你的别名是例如,Apache是​​http://yoursite/resources/spa/,基本路径被添加到您的ajax字符串中。这可能就是问题所在。

浏览器的实际路径,并删除公共部分。