我试图通过浏览器同步(我使用gulp)来理解为什么下面的代码可以在我的服务器上工作,而不能在我的本地主机上工作:
$.ajax({
url: 'https://www.someserver.com/Form.aspx',
type: 'POST',
dataType: 'html',
data: {
'email': email
'key': key
},
success: function(data) {
console.log(data);
},
error: function(error) {
console.log(error);
}
});在我的服务器上,我得到了一个成功响应。在我的本地环境(在localhost:3000上运行)上,我立即得到以下错误:
Cannot POST /起初,我认为这可能是因为我的目标url是https,而我是通过常规的http为本地环境服务的。但是,当我将浏览器同步过程切换为在https上运行时,我得到了相同的错误。
有人知道为什么我不能在本地环境中发布表单信息吗?
发布于 2016-05-12 23:35:29
ajax调用的URL在两台计算机上是不同的。您需要使用相对URL,或者编写一些机制来帮助javascript计算正确的URL(基于当前根目录,该根目录可以在两台计算机之间改变)。
我通常将当前根目录注入页面的最高层,即
window.siteInfo = {root: "/somepath/again/"}然后在我的javascript中,我追加以获得正确的urls,即
window.location = window.siteInfo.root + "someOtherpage.html"https://stackoverflow.com/questions/37191059
复制相似问题