Edesigner. 发表于 2020-1-19 21:05:59

用esp8266做web server,JS文件太大资源不够用?进来谈讨一下

想通过网页来设置参数。JS的POST和GET需要用到jquery.js。jquery.js的大小压缩后也要80多K。虽然我可以把文件放进flash里,但通信时还是需要读到内存里再发给浏览器。由于使用环境没有连接互联网所以也不能调用外部链接。有什么解决方法?

Edesigner. 发表于 2020-1-19 21:13:54

html5浏览器如何不使用第三方js就能实现post通信?

wx-ta 发表于 2020-1-19 21:14:00

使用这种通用框架的话无解,但是给你几个建议,使用压缩的jquery.js.min,如果还不够就加spi flash存放静态资源吧

yuyu87 发表于 2020-1-19 21:15:24

原生js可以post,网上找找

Edesigner. 发表于 2020-1-19 21:21:23

yuyu87 发表于 2020-1-19 21:15
原生js可以post,网上找找

用'form'方式?

Edesigner. 发表于 2020-1-19 21:21:48

wx-ta 发表于 2020-1-19 21:14
使用这种通用框架的话无解,但是给你几个建议,使用压缩的jquery.js.min,如果还不够就加spi flash存放静态 ...

到最后还不是一样要读到ram里

meirenai 发表于 2020-1-19 21:26:51

本帖最后由 meirenai 于 2020-1-19 21:30 编辑

Edesigner. 发表于 2020-1-19 21:21
到最后还不是一样要读到ram里

回复错了。。。。

wx-ta 发表于 2020-1-19 21:35:16

Edesigner. 发表于 2020-1-19 21:21
到最后还不是一样要读到ram里

读一段发一段,不用全部读到RAM再发送

Edesigner. 发表于 2020-1-19 21:37:14

wx-ta 发表于 2020-1-19 21:35
读一段发一段,不用全部读到RAM再发送

那得改底层代码了。不知道有没有开放,开放了也不知道要研究多久。

tlptotop 发表于 2020-1-19 23:01:42

如果支持外网访问,可以把js放外网,在html中引用。原生js支持post的,搜索ajax

tlptotop 发表于 2020-1-19 23:05:19

esp8266就不应该用jQuery,编写原生js,压缩后放到esp8266中

albert_w 发表于 2020-1-20 08:36:16

10L正解, Ajax可以post。

边读边发估计改动不小。

uindex 发表于 2020-1-20 11:58:03

内网么,cdn多省事啊!

Edesigner. 发表于 2020-1-20 16:17:43

tlptotop 发表于 2020-1-19 23:01
如果支持外网访问,可以把js放外网,在html中引用。原生js支持post的,搜索ajax ...

调通了,用ajax可以通信了,不需要额外的第三方js。谢谢各位热心网友帮忙。

chenchaoting 发表于 2020-1-20 16:24:37

用什么编程语言?

Edesigner. 发表于 2020-1-20 16:28:22

chenchaoting 发表于 2020-1-20 16:24
用什么编程语言?

8266在IoT_Demo上用C语言做功能。浏览器端用HTML

xyb852 发表于 2020-4-25 16:18:56

如果不考虑IE兼容性问题,可以把全部使用JQUERY的功能改用原生JS来实现,包含POST GET都可以用原生JS搞定。

xyb852 发表于 2020-4-25 16:24:37

这是原生JS替换AJAX的代码
function ajax(param) {
        var params = {
                method: param.method || "GET",
                url: param.url || "",
                data: param.data || null,
                headers: param.headers || "",
                success: param.success || function() {},
                error: param.error || function() {}
        }
        if (params.url == "" || params.url.length == 0) return;
        var xhr = new XMLHttpRequest();
        if (xhr != null) {
                xhr.withCredentials = true;
                xhr.addEventListener("readystatechange", function() {
                        if (xhr.readyState === 4) {
                                if (xhr.status == 200) {
                                        params.success(eval('(' + xhr.response + ')'))
                                } else {
                                        params.error(xhr)
                                }
                        }
                });
                xhr.open(params.method, params.url);
                if (typeof params.headers != "") {
                        for (var Key in params.headers) {
                                xhr.setRequestHeader(Key, params.headers);
                        }
                }
                xhr.send(params.data);
        }
};

richards 发表于 2020-4-25 18:17:03

引用cdn上的可以么??chrome firefox 上 原生就可以 实现 get post。 (fetch ) 再不济有ajax
页: [1]
查看完整版本: 用esp8266做web server,JS文件太大资源不够用?进来谈讨一下