为什么fetch返回我的React应用程序的index.html而不是我提供的URL?

罗利·波利

我正在尝试使用JavaScript进行抓取请求。目标是将所有JSON从此处导入到我的React应用程序中。我认为我使用的是最简单的方法之一,但我仍在设法弄乱。

我的预期结果是console.log()带有json数据输出。相反,我得到的结果是一个错误,指出

未捕获(承诺)SyntaxError:JSON中位置0处的意外令牌<

在探索问题时,我将一些代码更改.then(results => results.json()).then(results => results.text())那向我显示了我的提取请求得到的内容。我发现它根本没有到达所提供的URL,而是返回了我应用程序的主页(我认为index.html位于“ /”)。奇怪的。

这是我的代码的简化版本:

import React from "react";

const hardcoded_url =
    "https://www.reddit.com/r/learnprogramming/new/.json?count=25&after=";

getJSON = () => {
        fetch(this.hardcoded_url)
            .then(results => results.json())
            .then(data => console.log(data));
    };

render() {
    return (
        // <react stuff>
    )
}

console.log(data)打印出来的实际上index.html是我的React应用程序的内容:

<!DOCTYPE html>
<html lang="en">
<!--- blah blah --->
</html>

我什至可以在“开发人员工具”网络标签中看到请求已关闭。对我来说,它看起来不正确。它注册为undefinedNetwork -> Headers -> General

请求网址:http:// localhost:3000 / undefined
请求方法:GET
状态码:304未修改

我已尝试Google搜索错误消息和javascript fetch url returns index.html后者使我这个网页看起来前途无量,但加入了“代理”行到我的package.json没有帮助(具体地讲,我说:"proxy": "http://localhost:3000")。我也不认为这是凭证问题,因为我可以仅通过浏览器访问URL。

我不明白为什么这对我不起作用。我正在从别人的github项目复制代码形式给我自己的Reddit小克隆。他们的作品...

苏尼尔·乔杜里(Sunil Chaudhary)

hardcoded_url是一个const而不是class变量。问题是通过this.hardcoded_url访问它。

fetch(hardcoded_url) 是这里的正确方法。

this.hardcoded_url is undefined因此,fetchundefined的URL被认为是相对于本地主机的URL,因此API是http:// localhost:3000 / undefined而不是实际的URL

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我在React应用程序中的Fetch URL不会更改?

为什么我的React Native应用程序崩溃了?

为什么这个变量返回 undefined 而不是我的 Angular 13 应用程序中的对象?

Heroku - React 应用程序在 fetch() 请求中调用 localhost 而不是我的 Express 后端的 Heroku URL

为什么我的应用程序崩溃了?

为什么我的Nginx将我的应用程序静态文件路由到我的index.html

为什么我在React应用程序的HTML输出中看到传递的道具?

当我更改状态时,为什么我的 React 应用程序没有重新渲染?

当我单击链接时,为什么我的react / webpack应用程序会刷新?

为什么我在屏幕上看不到我的应用程序?React.js

为什么我不能在我的基本 React 应用程序中使用 promise?

为什么不在我的React应用程序上显示来自我的api的列表?

为什么我的handleLogout功能无法在我的React应用程序中工作?

为什么我无法在我的 React 应用程序中访问谷歌分析?

为什么我的幻灯片在我的 React 应用程序中不起作用?

为什么我无法从 redux 获取状态到我的 React 应用程序?

为什么我的 React 应用程序在我运行时会消失

为什么我的 Flask 应用程序返回状态代码为 308 的响应正在测试中?

还原后,为什么我的应用程序不返回到详细信息视图?

为什么我的Azure移动应用程序不返回任何数据?

为什么我的 python 应用程序的 cron 作业总是返回 301 响应代码?

为什么我的 ListView 使我的应用程序崩溃而不是列出我的条目?

为什么我的按钮使我的应用程序崩溃?

react-native-app-auth中的RedirectURL是什么-如何返回我的应用程序?

为什么我无法更新Digital Ocean上托管的react应用程序?

为什么 CORS 不适用于我的 express/react 应用程序?

为什么 create-react-app 使用 Dashjs 的调试版本构建我的应用程序?

为什么我的React应用程序的Jest / Enzyme setState测试失败?

为什么我不能将Heroku上的React应用程序从http重定向到https?