我正在进行ajax调用:
var hostUrl = location.hostname;
$.getJSON(hostUrl + "/DataMatrix/ItemTypeList/" + $("#filter > option:selected").attr("value"),
function (dataValue) {
这是我在网络标签中获得的内容:
http://localhost:50020/localhost/DataMatrix/ItemTypeList/5001
Localhost被附加在本地主机的顶部,但是在生产中它可以正常工作,因为url形成的是(xyz:host placeholder)。
xyz/DataMatrix/ItemTypeList/5001
一旦我删除了主机网址,那么它在本地工作也很好,但在生产中失败了:
$.getJSON("/DataMatrix/ItemTypeList/" + $("#filter > option:selected").attr("value"),
function (dataValue) {
如何在开发过程中处理此类场景,以便在将文件移交给部署团队时不必更改字符串。
答案 0 :(得分:0)
只需删除前导" /"即:
$.getJSON("DataMatrix/ItemTypeList/" ...
这是因为浏览器会自动将URL解释为相对于当前主机(例如" http://localhost:50020/"或" https://myhost.com/"并将其添加到您声明的网址。
所以如果你把" DataMatrix / ItemTypeList"在" https://myhost.com"上部署您的网址时,ajax通话会自动拨打" https://myhost.com/DataMatrix/ItemTypeList"。