localhost:8080停止我对API的回复

时间:2016-06-07 06:48:59

标签: reactjs refluxjs

我正在做一个关于React with Reflux的教程。 但是我在查询响应中获得了404。我认为已发送url来获取数据。

当我对变量' url'执行console.log时我得到以下内容:
api.openweathermap.org/data/2.5/forecast?appid=4e26b7e43fe918dbc620bbf34456a9de&q=New York,us
但在“网络请求”选项卡中,我在“请求”中看到以下内容

Request URL:http://localhost:8080/api.openweathermap.org/data/2.5/forecast?appid=4e26b7e43fe918dbc620bbf34456a9de&q=New%20York,us
Request Method:GET
Status Code:404 Not Found
Remote Address:127.0.0.1:8080

如果我复制此地址并将其粘贴到地址栏中,我肯定没有得到回复,但如果从地址中删除localhost:8080,我会从API中获得完美的回复。

为什么要添加localhost:8080,如果错误,我该如何解决呢?

这是我创建的用于获取数据的Action。

行动:

import axios from 'axios';
const API_KEY = '4e26b7e43fe918dbc620bbf34456a9de';
const ROOT_URL = `api.openweathermap.org/data/2.5/forecast?appid=${API_KEY}`;

export const FETCH_WEATHER = 'FETCH_WEATHER';

export function fetchWeather(city) {
    var url = `${ROOT_URL}&q=${city},us`;

    const request = axios.get(url);

    return {
        type: FETCH_WEATHER,
        payload: request
    };
}

这有效,但有人可以解释为什么吗?
在url变量上,我手动添加了http://,这导致网址请求不会前置http://localhost:8080

import axios from 'axios';

const API_KEY = '4e26b7e43fe918dbc620bbf34456a9de';
const ROOT_URL = `api.openweathermap.org/data/2.5/forecast?appid=${API_KEY}`;

export const FETCH_WEATHER = 'FETCH_WEATHER';

export function fetchWeather(city) {

    var url = `http://${ROOT_URL}&q=${city},us`;

    const request = axios.get(url);

    return {
        type: FETCH_WEATHER,
        payload: request
    };
}

0 个答案:

没有答案