jQuery使用变量组合URL

时间:2011-08-23 09:45:14

标签: javascript jquery ajax url

上传到托管服务器时,以下代码已成功转为http://myexample.com/otherpartsofpath

 ajax: {
        url: 'http://' + window.location.hostname + '/otherpartsofpath', 
        type: 'GET',
        ...

但是当在本地计算机上呈现时,它会出错。这就是为什么我应该明确定义URL:

 ajax: {
        url: 'http://localhost:10930/otherpartsofpath', 
        type: 'GET',
        ...

如果没有明确定义的URL,我如何让代码在本地工作?

3 个答案:

答案 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)

你不能for security reasons

使用本地服务器进行测试。如果要从远程服务器获取数据,请设置proxy

答案 2 :(得分:1)

如果您不在本地端口80,则必须执行类似

的操作
var hostName = window.location.hostname;
if ( window.location.port != '') {
    hostName += ':' + window.location.port;
}

并在您的AJAX网址中使用它。