使用绝对网址和相对网址在JavaScript中获取

eli*_*nti 1 javascript fetch

我有一个在本地服务器上运行的脚本,该脚本可获取一个php文件(也在本地服务器上)。如果我编写要获取的url作为相对路径,则文件不会出现问题,但是,如果添加127.0.0.1/mypath/myFile,则会出现403错误。

function localServerCall() {
    var urlLocalServer = '127.0.0.1:8000/mypath/myfile.php';
    //var urlLocalServer = 'myfile.php';   //THIS WORKS!
    fetch(urlLocalServer).then(function(response) {
      console.log(response.json);
      return response.json();
  }).then(function(data) {
      console.log(data)
  }).catch(function(err) {
      console.log ('ERROR LOCALSERVER', err);
  })
}
Run Code Online (Sandbox Code Playgroud)

我想知道绝对/相对URL与fetch的使用是否存在某些限制,或者此问题是否可能是由于其他原因引起的。

Que*_*tin 6

不以方案开头或以开头的URL //被视为路径(相对URL的一部分)。

http://example.com/foo/,您的URL解析为http://example.com/foo/127.0.0.1:8000/mypath/myfile.php

您几乎可以肯定要:

var urlLocalServer = 'http://127.0.0.1:8000/mypath/myfile.php';
Run Code Online (Sandbox Code Playgroud)