上传到托管服务器时,以下代码已成功转为http://myexample.com/otherpartsofpath
:
ajax: {
url: 'http://' + window.location.hostname + '/otherpartsofpath',
type: 'GET',
...
但是当在本地计算机上呈现时,它会出错。这就是为什么我应该明确定义URL:
ajax: {
url: 'http://localhost:10930/otherpartsofpath',
type: 'GET',
...
如果没有明确定义的URL,我如何让代码在本地工作?
答案 0 :(得分:3)
使用相对路径/test
将始终生成正确的协议,主机名和端口。因此,为方便起见,您可以随时使用:
ajax: {
url: '/otherpartsofpath',
type: 'GET',
...
在http://test.com/directory/test.html
上运行时,它就是
http://test.com/otherpartsofpath
。
在http://localhost:1234/directory/test.html
上运行时,它就是
http://localhost:1234/otherpartsofpath
。
答案 1 :(得分:1)
使用本地服务器进行测试。如果要从远程服务器获取数据,请设置proxy。
答案 2 :(得分:1)
如果您不在本地端口80,则必须执行类似
的操作var hostName = window.location.hostname;
if ( window.location.port != '') {
hostName += ':' + window.location.port;
}
并在您的AJAX网址中使用它。