避免刷新动作——FWQ数据处理

使用AJAX避免页面刷新
本文介绍了如何利用AJAX技术实现在不刷新页面的情况下与服务器进行数据交互。通过使用XMLHttpRequest对象,可以在页面加载后从服务器更新内容。文章详细记录了实现过程中的常见错误及解决方法。

   如前文所述,由于,php只在服务端执行,js只在客户端执行,要想达到交流的目的,只有通过 http。而这就导致刷新动作的出现,这是我不想看到的。怎么办呢?在网上看到了很多这样的说法:用AJAX,那我就去看看吧,管它什么现在看不看得懂的事。

   “AJAX 基于 JavaScript 和 HTTP 请求(HTTP requests)。”——W3school

 

哦?那我就需要知道HTTP requests了。

 

“通过使用 XMLHttpRequest 对象,web 开发者可以做到在页面已加载后从服务器更新页面!”

 

这正是我要的。

 

“使用 XMLHttp=new XMLHttpRequest() 来创建此对象。这条语句针对 Firefox、Opera 以及 Safari 浏览器。假如失败,则尝试针对 Internet Explorer 6.0+ 的 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"),假如也不成功,则尝试针对 Internet Explorer 5.5+ 的 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")”

 

看来,我无论如何也避免不了try catch的使用了……

 

OK,看W3School的教程到现在,我只想说一句,AJAX啥都不是,还不如说得通俗一点:XMLHttpRequest对象。

一整个AJAX就是它了。

 

那么,现在可以考虑用XMLHttpRequest对象来达到我的目的了:

 

function Login()
{
	document.getElementById("user").value="root";
	var xmlHttp;
	xmlHttp=new XMLHttpRequest();
	xmlHttp.onreadstatechange=function()
	{
		if(xmlHttp.readstate==4)
		{
			document.getElementById("password").value=xmlHttp.responseText;
		}
	}
	xmlHttp.open("GET","../login.php",true);
	xmlHttp.send(null);
}

 

<div class="verticalboxes">
	<ul>
		<li>
			<input type="text" id="user" />
		</li>
		<li>
			<input type="text" id="password" />
		</li>
		<li>
			<input type="button" value="Login" onClick="Login()" />
		</li>
	</ul>
</div>
<?php
	echo "Hello";
?>

刷新页面,输入框中无任何变化,点击Login按钮,“user”文本框中出现“root”字样,“password”文本框无变化。

 

如上,Login()运行了,但是xmlHttp没有起作用。难道是Google浏览器不支持?

 

function Login()
{
	document.getElementById("user").value="root";
	var xmlHttp;
	try
	{
		xmlHttp=new XMLHttpRequest();
	}
	catch(e)
	{
		document.getElementById("password").value="Exception";
	}
	xmlHttp.onreadstatechange=function()
	{
		if(xmlHttp.readstate==4)
		{
			document.getElementById("password").value=xmlHttp.responseText;
		}
	}
	xmlHttp.open("GET","../login.php",true);
	xmlHttp.send(null);
}

 “password”框没有出现“Exception”字样……为什么?

 

我晕!!!

xmlHttp.onreadystatechange才对!

 

怎么,改了还是没反应?

 

居然还有一处:xmlHttp.readyState 大写S。

 

xmlHttp.onreadystatechange=function()
{
	if(xmlHttp.readyState==4)
	{
		document.getElementById("password").value=xmlHttp.responseText;
	}
}

 这次好了。

 

(发现了一个大问题!

我写的网页在 Google浏览器里排版正常,搬到 IE里就乱透了。

得空得重新排版了。)

 

然后,是FWQ获取用户发送的数据的问题:

 

function Login()
{
	var xmlHttp;
	try
	{
		xmlHttp=new XMLHttpRequest();
	}
	catch(e)
	{
		document.getElementById("password").value="Exception";
	}
	xmlHttp.onreadystatechange=function()
	{
		if(xmlHttp.readyState==4)
		{
			document.getElementById("password").value=xmlHttp.responseText;
		}
	}
	var user=document.getElementById("user").value;
	url="../login.php"+"?q="+user;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

 

<?php
	$user=$_GET["q"];
	echo "Hello ".$user;
?>

 如我所需,向第一个文本框中输入内容后,点击Login,第二个文本框出现相应的消息(“Hello *”)。

 

这样,就避免了刷新动作。

Delphi 12.3 作为一款面向 Windows 平台的集成开发环境,由 Embarcadero Technologies 负责其持续演进。该环境以 Object Pascal 语言为核心,并依托 Visual Component Library(VCL)框架,广泛应用于各类桌面软件、数据库系统及企业级解决方案的开发。在此生态中,Excel4Delphi 作为一个重要的社区开源项目,致力于搭建 Delphi 与 Microsoft Excel 之间的高效桥梁,使开发者能够在自研程序中直接调用 Excel 的文档处理、工作表管理、单元格操作及宏执行等功能。 该项目以库文件与组件包的形式提供,开发者将其集成至 Delphi 工程后,即可通过封装良好的接口实现对 Excel 的编程控制。具体功能涵盖创建与编辑工作簿、格式化单元格、批量导入导出数据,乃至执行内置公式与宏指令等高级操作。这一机制显著降低了在财务分析、报表自动生成、数据整理等场景中实现 Excel 功能集成的技术门槛,使开发者无需深入掌握 COM 编程或 Excel 底层 API 即可完成复杂任务。 使用 Excel4Delphi 需具备基础的 Delphi 编程知识,并对 Excel 对象模型有一定理解。实践中需注意不同 Excel 版本间的兼容性,并严格遵循项目文档进行环境配置与依赖部署。此外,操作过程中应遵循文件访问的最佳实践,例如确保目标文件未被独占锁定,并实施完整的异常处理机制,以防数据损毁或程序意外中断。 该项目的持续维护依赖于 Delphi 开发者社区的集体贡献,通过定期更新以适配新版开发环境与 Office 套件,并修复已发现的问题。对于需要深度融合 Excel 功能的 Delphi 应用而言,Excel4Delphi 提供了经过充分测试的可靠代码基础,使开发团队能更专注于业务逻辑与用户体验的优化,从而提升整体开发效率与软件质量。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
### TensorBoard FWQ问题解决方案 当遇到与TensorBoard相关的fwq问题时,通常涉及的是防火墙(FireWall Queue)设置或者网络配置方面的问题。这类问题可能导致无法正常访问TensorBoard服务或其性能受到影响。 #### 1. 检查本地防火墙设置 如果是在本机上运行TensorBoard并尝试连接到它,则需要确认操作系统自带的防火墙是否阻止了相应的端口通信。对于Linux系统来说,可以使用`ufw`命令来管理防火墙规则: ```bash sudo ufw status verbose ``` 上述命令会显示当前激活的状态以及具体的允许列表[^1]。确保用于启动TensorBoard的服务端口号未被阻挡;默认情况下,TensorBoard监听6006端口。 #### 2. 修改TensorBoard启动参数 有时为了避开已占用或其他受限端口,可以在启动TensorBoard时指定不同的端口: ```python tensorboard --logdir=path/to/logs --port=8080 ``` 这里将TensorBoard绑定到了8080端口而不是默认的6006端口。 #### 3. 远程访问TensorBoard 如果是打算从远程机器访问正在另一台计算机上的TensorBoard实例,那么除了开放必要的防火墙端口外,还需要考虑SSH隧道转发的方式实现安全的数据传输: ```bash ssh -L 6006:localhost:6006 user@remote_host ``` 这一步骤创建了一个从本地主机到远端服务器的安全通道,使得可以通过浏览器直接查看位于远端的TensorBoard界面而无需暴露公网IP给外部世界。 #### 4. 网络环境中的FWQ策略调整 企业级环境中可能存在更复杂的网络安全架构,比如基于队列调度机制(QoS)下的流量控制措施。此时应该联系网络管理员评估现有FWQ政策,并请求适当放宽针对TensorBoard所需资源路径的相关限制条件。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值