落秋中文网

繁体版 简体版
落秋中文网 > 逆光:穹顶之下 > 第15章 程序员进阶之路

第15章 程序员进阶之路

temp_ur_id from u regin '2024 - 01 - 01' and '2025 - 01 - 01';然后再用这个临时表和订单表以及其他新表进行关联。-第¢一,墈*书¢枉+ ¢蕞`歆?璋.结+埂+新?筷+”

这章没有结束,请点击下一页继续阅读!

李君浩眼睛一亮,立刻按照魏晨说的方法尝试。经过一下午的努力,他终于成功实现了新需求下的复杂连表查询。他激动地跑到魏晨工位旁,说道:“魏哥,太感谢你了,要不是你这关键一招,我真不知道要卡多久。”

解决了连表查询的问题后,李君浩又将目光投向了前端 ajax 的学习。他想起魏晨在网站开发中对前端技术的熟练运用,便决定向魏晨请教。下班后,李君浩找到魏晨,说道:“魏哥,你忙不?我想跟你请教下前端 ajax 的用法。我知道你在网站开发里用得很溜,我现在在这方面还一知半解的。” 魏晨笑着说:“不忙,君浩,ajax 其实不难,你是哪方面不太清楚?”

李君浩挠挠头说:“我知道 ajax 可以实现页面的异步数据请求,不用刷新页面就能获取数据。但是我在实际写代码的时候,老是出问题。比如说,我想通过 ajax 从后端获取用户列表数据,然后在页面上展示出来,但是数据老是获取不到。” 魏晨打开电脑,一边操作一边说:“来,我们一起看。首先,你要创建一个 xmlhttprequest 对象,这是 ajax 的核心。var xhr = new xmlhttprequest;然后,设置请求的方法和 url,比如xhr.open('get', 'user_li);这里的get是请求方法,user_list.php是后端提供数据的接口,true表示异步请求。接着,你要设置请求头,告诉服务器你发送的数据类型,xhr.r('content - type', 'application/x--form-urlencoded');最后,就是处理服务器返回的数据了,xhr.onready = function { if (xhr.readystate == 4 && xhr.status == 200) { var respon(xhr.rext); // 处理返回的数据,这里假设返回的是json格式的数据 } };然后调用xhr.send;发送请求。你看看你是哪一步出问题了?”

李君浩看着魏晨的演示,一边思考一边说:“魏哥,我好像在设置请求头和处理返回数据那里有点乱。我不太清楚不同的数据类型该怎么设置请求头,还有返回的数据格式也不太会处理。” 魏晨耐心地解释道:“如果是普通的表单数据,就像刚才那样设置请求头。如果是 json 数据,请求头要设置成xhr.r('content - type', 'application/json');,发送数据的时候要用json.stringify(data)把数据转换成 json 字符串。处理返回数据的时候,如果是 json 格式,就像我刚才那样用j解析。要是返回的是 xml 格式,那就得用 xml 解析的方法了。比如说var xmldoc = xhr.responmentr');然后遍历节点获取数据。”

李君浩认真地听着,不停地提问,魏晨一一解答。在魏晨的指导下,李君浩逐渐掌握了 ajax 的基本用法。他迫不及待地想要在实际项目中应用一下。

可是,在项目中应用 ajax 时,李君浩又遇到了一个极其诡异的问题。他的 ajax 请求在自己的电脑上运行得好好的,但是一部署到测试服务器上,就总是报错,提示 “请求失败”,可又没有具体的错误信息。他检查了服务器环境配置,确认和自己电脑上的一致,又仔细检查了代码,也没有发现任何问题。他尝试在网上搜索解决方案,在各种技术论坛和网站上发帖求助,然而几天过去了,依然没有找到有效的解决办法。

就在李君浩几乎要放弃的时候,一次偶然的机会,他在公司的技术交流群里看到有人提到了服务器的安全策略可能会影响 ajax 请求。他灵机一动,会不会是测试服务器的安全设置阻止了 ajax 请求呢?他立刻联系公司的运维人员,说明了情况。运维人员检查后发现,测试服务器的防火墙设置中,默认禁止了部分 ajax 请求的端口。运维人员调整了防火墙设置后,李君浩再次部署项目,

『加入书签,方便阅读』