Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java web开发中的异步调用_Java_Php_Asp.net_Web - Fatal编程技术网

Java web开发中的异步调用

Java web开发中的异步调用,java,php,asp.net,web,Java,Php,Asp.net,Web,关于异步调用,我有一个很大的误解,我找不到一个合理的答案来回答我的问题(如果这是一个愚蠢的问题,我很抱歉,但我似乎无法理解) 在web开发中,有没有办法在没有Javascript的情况下异步调用函数 当我指的是异步时,我指的是调用一个函数,该函数在页面加载时在后台运行,当它完成向用户显示结果时,不会让用户等待函数处理(并显示空白页面) 插座是否可行 语言:PHP、JAVA、ASP.NET、PYTHON 谢谢。20世纪出现了一些丑陋的黑客行为,比如每隔几秒钟就不断地重新加载页面,直到结果可用。服务

关于异步调用,我有一个很大的误解,我找不到一个合理的答案来回答我的问题(如果这是一个愚蠢的问题,我很抱歉,但我似乎无法理解)

在web开发中,有没有办法在没有Javascript的情况下异步调用函数

当我指的是异步时,我指的是调用一个函数,该函数在页面加载时在后台运行,当它完成向用户显示结果时,不会让用户等待函数处理(并显示空白页面)

插座是否可行

语言:PHP、JAVA、ASP.NET、PYTHON


谢谢。

20世纪出现了一些丑陋的黑客行为,比如每隔几秒钟就不断地重新加载页面,直到结果可用。

服务器没有理由等到所有动态内容可用后再向客户端发送数据。因此,它可以发送一些数据(例如“请等待”-消息),然后进行繁重的处理,然后发送响应,所有这些都作为对一个http请求的响应。但是,这意味着浏览器将一直显示加载栏,直到收到最后一条消息。

基于您的问题和您发布的评论。有许多方法可以在服务器呈现数据时显示数据。这完全取决于您如何构造应用程序。回顾过去,Javascript提供了最优雅的解决方案

一种方法是使用标签不断刷新页面,并在页面可用时显示内容


另一种方法是,在网页中设置iframe。iFrame的URL将是一个需要大量处理的页面。这样,页面的内容就可以在不等待iFrame加载的情况下加载。

当我使用Android手机时,我经常会收到弹出窗口,要求关闭我甚至不用的程序,Facebook是一个很常见的问题。有几个。我不明白当我不使用它们时它们是如何运行的

你可以在你的页面中嵌入Java小程序或Flash或Silverlight来实现类似的功能,但结果不会像JS IMHO那样吸引人。例如,如果我想调用php/Java函数来完成繁重的工作,我希望能够呈现整个页面,当函数结束处理时,向用户显示结果(以div或span的形式),或者向用户显示创建的输出(如php中的popen),为什么不能使用JS?现代的异步web开发需要JS。我将使用JS,但我仍然很难意识到只有Javascript才能实现这样的功能。实时web是基于Javascript套接字(或websockets)的,因此,如果不使用Javascript,就不可能使web应用程序异步?(首先呈现页面-在处理结果时显示结果)是的,但是没有人希望看到5-8秒的加载。我认为Java(servlet或JSP)可以像Javascript一样操作DOM,因为Java是多线程、并行的,并且可以有异步本地调用。PHP是单线程的,目前它没有实现异步调用。问题不在服务器端,而在客户端。浏览器无法在不使用javascript或重新加载页面(或页面上的框架)的情况下执行异步调用来检查是否有新内容可用(甚至打开用于双向通信的套接字),因此,为了澄清我的想法,要在web开发中实现异步,我们必须调用这些函数(php或java或任何其他web语言)从Javascript到Ajax?非常感谢您的回答。只有一个问题:Ajax能否调用一个webservice(java或php,但更多java)来处理concurent(并行-基本上异步以获得更好的性能),并将结果发送到Ajax回调函数以更新页面?这就是大型web应用程序的工作方式吗?再次感谢您,我完全忘记了iFrame,因为我不再使用它们了(因为MVC框架)。但我的问题是:Java知道如何调用异步任务和在后台执行任务,以及在结果可用时如何显示它。为什么需要javascript(只是因为涉及到浏览器)?您必须记住HTTP是一个无状态协议,当您向URL发送GET请求时,您会得到一个响应。在那之后,服务器没有办法给你回电话说,我有关于你的查询的更多信息。所有这些黑客行为都为客户端提供了一种保持与服务器连接打开的方法,直到相关响应可用。许多应用程序在后台运行。它们运行是为了更新信息或检查某些东西。这是很常见的事。