javascript - 通过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>
解决方案
推荐阅读
- python - 如何检查位掩码是否包含位?
- python - h2o python 的 one_hot_explicit 参数引发错误
- python - 循环'for element in list_[a:b]'是否使用解释器优化的未使用副本?
- clojure - 在 Windows 中使用 Datomic (lein-datomic) 的 Clojure
- git - git submodule and fetch
- .htaccess - CodeIgniter 项目在上传在线服务器时显示错误
- ajax - 为什么 Ajax 请求不适用于 spring 标记库
- wso2 - 运行 WSO2 身份服务器 STS 客户端的异常
- python-3.x - 使用opencv计算残余运动
- swift - 如何使`NSPredicate`在搜索中忽略某些字符