首页 > 解决方案 > 通过ajax请求获取react app并执行

问题描述

我已经使用来自 facebook 的https://create-react-app.dev/创建了一个小型反应应用程序,并构建了它,因此可以投入生产。

我的反应应用程序在用户通过身份验证后显示,所以我没有直接加载它。相反,我使用 ajax 请求获取应用程序,并将响应 html 设置到这样的容器中:

var appContainer = document.getElementById("app-container");
appContainer.outerHTML = request.responseText;
eval(document.getElementById("main-script").innerHTML);

这里的问题是我不知道如何执行渲染页面的主脚本,我不知道如何在我编译的应用程序构建中找到https://create-react-app.dev/。如果我能够识别加载页面时执行的主脚本,我可以document.getElementById("main-script")使用函数获取它并执行其内容eval,就好像我正常加载页面而不是使用 ajax 获取一样。

我的 React 应用程序的主体如下所示:

<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script >!function (e) {
        function r(r) {
            for (var n, p, l = r[0], a = r[1], f = r[2], c = 0, s = []; c < l.length; c++) p = l[c], 
Object.prototype.hasOwnProperty.call(o, p) && o[p] && s.push(o[p][0]), o[p] = 0;
       ...</script>
<script src="/static/js/2.034d6219.chunk.js"></script>
<script src="/static/js/main.06ee54e5.chunk.js"></script>
</body>

标签: javascripthtmlreactjscreate-react-app

解决方案


推荐阅读