我在做一个学习PHP和Javascript/JQuery的网站,我还没有太多的经验,我试图了解什么是最好的实现结构
PHP创建字符串数组
我可以通过json-encode从index.php访问数组
然后我想将数组发送到.mjs文件中的类中的函数
问题是,在index.php文件中,通过脚本标记,我无法导入模块,如果使用script type=“module”,则可以使用导入
但我有个错误:
未能加载模块脚本:服务器在main.mjs::1中以非JavaScript MIME类型“”响应
MDN引用mjs扩展用于防止这种情况。
这就是我被困住的原因。
服务器目录如下:
index.php索引
js/主要.mjs
js/索引.mjs
代码段:
index.php索引
<head>
<meta charset="utf-8">
<title>Website</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="js/jquery-3.4.1.slim.min.js"></script>
<script src="js/main.mjs" type="module"></script>
<script type="module">
import {start_index} from "./js/main.mjs";
initialize();
function initialize()
{
var arr = <?php echo json_encode($images_arr); ?>;
start_index(arr);
}
</script>
</head>
主要mjs
function start_index(arr)
{
import {gallery_manager} from './index.mjs';
var gallery_mngr = new gallery_manager();
gallery_mngr.initialize(arr);
}
export {start_index};
指数mjs
class gallery_manager
{
constructor(){}
var images = "";
var placeholder = "../images/common/placeholder.png";
public function initialize(arr)
{
images = arr;
alert(images[0]);
}
function switchByTimer()
{
}
function switchImage(new_image, direction)
{
}
}
export {gallery_manager};
最佳答案
主要问题:
您的web服务器似乎不“理解”什么是“mjs”文件,因此它没有在响应的HTTP头中发送适当的MIME类型。
建议:将“.mjs”改为“js”,看看是否有帮助“mjs”面向NodeJS。
重要问题:
问:你使用的是网络服务器,对吗?
问:什么样的网络服务商?Apache2/Linux?IIS Express本地Windows PC?还有别的吗?
强烈建议:熟悉Chrome Developer Tools。
关于javascript - 将PHP数组发送到JS模块,“导入”问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58581043/