gpt4 book ai didi

javascript - 为什么 url 变量会导致 ajax 相对 url 出现问题?

转载 作者:行者123 更新时间:2023-11-28 06:15:15 25 4
gpt4 key购买 nike

所以,我正在执行像这样的普通 ajax 调用:

$.ajax({
type: "GET",
url: this.Controller + "/" + this.Action,
data: data,
cache: false,
dataType: "json",
success: function (data) {
var json = $.parseJSON(data);
$("#Debug").html(JSON.stringify(json, undefined, 4));
},
error: function (jqXHR, textStatus, errorThrown) {
var errorMessage = "Unable to retrieve data."
if (jqXHR.responseText != null) {
errorMessage += "\n\nError Message: " + jqXHR.responseText;
}
alert(errorMessage);
}
});

当我对 ajax url 使用相对路径时,只要当前页面的 url 中没有 url 变量,它就可以正常工作。它将正确转到 http://domain.com/controller/action

如果存在 url 变量,ajax url 会尝试访问不存在的 http://domain.com/controller/controller/action

如果我像这样添加斜杠:

url: "/" + this.Controller + "/" + this.Action

这修复了 url 变量导致的问题,但仅限于本地。当我部署到服务器时,我的应用程序位于子目录中,因此 URL 为 http://domain.com/myapp。斜杠解决方案不起作用,因为根目录是 http://domain.com 而不是 http://domain.com/myapp

最佳答案

你可以试试这个$.ajax({url: document.domain + this.Controller ... })

关于javascript - 为什么 url 变量会导致 ajax 相对 url 出现问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36036983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com