gpt4 book ai didi

javascript - 如何在 Dart 中包含 PHP 生成的数据(无 Ajax)

转载 作者:行者123 更新时间:2023-11-29 18:18:51 24 4
gpt4 key购买 nike

我目前有一个网站,在服务器上使用 PHP (Laravel),在客户端使用 Javascript。现在我想用 Dart 替换 Javascript。

在当前网页上,我像这样将一些数据注入(inject)到 Javascript 中:

<script>
var mydata = <?php echo $mydata; ?>;
/* now do something with mydata */
</script>

我的问题是:如何将其重写为 Dart?

我的第一个想法是:

<script type="application/dart">
main() {
var mydata = <?php echo $mydata; ?>
/* now do something with mydata */
}
</script>

但这种方法使得无法使用 dart2js 生成 Javascript 代码,因为 Dart 代码中包含动态生成的代码。

我当然可以使用 Ajax 请求,但我选择将生成的数据放在 Javascript 代码中,因为这样可以减少一次 HTTP 请求,从而使网页加载速度更快。

那么我将如何在不使用 HTTP 请求的情况下将 PHP 生成的数据注入(inject) Dart,同时仍然能够使用 dart2js?

最佳答案

最简单的解决方案是像您已经做的那样在 JS 中生成数据,然后使用 dart:js 从 Dart 中读取它们.因此,您只需使用 dart2js 编译一次。

在你的 file.php 中:

<script>
var myDatasAsJsonString = "<?php echo $myDatasAsJsonString; ?>";
</script>

在你的 Dart 文件中:

import 'dart:js' as js;
import 'dart:convert' show JSON;

main() {
final myDatasAsJsonString = js.context['myDatasAsJsonString'];
final myDatasAsJson = JSON.decode(myDatasAsJsonString);
/* now do something with mydata */
}

关于javascript - 如何在 Dart 中包含 PHP 生成的数据(无 Ajax),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20751322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com