Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 什么';这个提取请求有什么问题?_Ajax_Fetch - Fatal编程技术网

Ajax 什么';这个提取请求有什么问题?

Ajax 什么';这个提取请求有什么问题?,ajax,fetch,Ajax,Fetch,我把这个放在控制台里 我搞不懂,我对这个很陌生。它说的是404,但如果我复制URL并转到它,它会显示JSON数据 添加https后出错:// 试试这个: let path=`api.openweathermap.org/data/2.5/weather?q=London`; let apiKey= `&APPID=758bab291826491e79f93979de2ba255` let url= path+apiKey; function getWe

我把这个放在控制台里

我搞不懂,我对这个很陌生。它说的是404,但如果我复制URL并转到它,它会显示JSON数据

添加https后出错://

试试这个:

    let path=`api.openweathermap.org/data/2.5/weather?q=London`;
    let apiKey=  `&APPID=758bab291826491e79f93979de2ba255`
    let url= path+apiKey;


  function getWeather(url){
     return fetch(url)
        .then(response=> response.json())
        .then(data=>console.log(data))
        .catch(err=> console.log(err))

  }

getWeather();

这应该行得通。为什么?因为当您执行提取时,它会尝试从应用程序当前所在的域执行提取。这就是为什么如果您提供https://您会得到127.0.0.1:5000(localhost),它不应该这样做。

这应该可以做到:

let path=`https://api.openweathermap.org/data/2.5/weather?q=London`;
let apiKey=`&APPID=758bab291826491e79f93979de2ba255`
let url=path+apiKey;

function getWeather(url){
  return fetch(url)
  .then(response=> response.json())
  .then(data=>console.log(data))
  .catch(err=> console.log(err))
}

getWeather();
因此,您最初的问题有两个问题:

  • 当您进行提取时,它会尝试从域中进行提取 应用程序当前正在运行。这就是你得到127.0.0.1:5000的原因 (localhost),如果提供https://则不应这样做
  • 您没有将url传递给该函数的getWeather(url)函数 你已经申报了。希望这有帮助
    控制台中的GET现在为url显示了什么?在Post中添加了照片抱歉,我提交了不同的答案,它现在可以在我的浏览器中工作。所以其他答案应该对你有用。非常感谢,你介意解释一下我哪里出错了吗?我编辑了上面的答案。共有2个问题:)。您仍然可以像以前一样使用path+url。这不是问题的一部分。我将再次编辑答案,使其更能反映您最初编写的内容。我只是简化了原来的问题,让自己更容易理解这个问题。请稍等,您应该会看到一个新的编辑。新的编辑与您最初的编辑非常接近,只是需要两个小补丁!
    let path = `https://api.openweathermap.org/data/2.5/weather?q=London`;
    let apiKey = `&APPID=758bab291826491e79f93979de2ba255`;
    let targetURL = path + apiKey;
    
    function getWeather(url) {
      return fetch(url)
        .then(response => response.json())
        .then(data => console.log(data))
        .catch(err => console.log(err));
    }
    
    getWeather(targetURL);