各位大侠,本人做的一个项目要实现这样的功能:
客户端提交一个查询,服务器开始多线程搜索并随时返回搜索结果,
客户端不需等待响应,并能随时根据是否有结果显示搜索状态。
Ajax能不能实现这样的效果,主要是客户端能不断更新显示搜索状态,不想通过定时刷新页面来实现。
另外对于Ajax有一点疑惑,它能异步响应服务器是因为它发出一个请求后有一个线程在监听服务器的响应吗?是通过Javascript的什么机制还是IE的?

解决方案 »

  1.   

    首先,服务器上创建线程搜索.主线程返回.Session中放一个变量,为查询状态,所有线程查询结束,状态设为完程.利用ajax 定时访问另一个页面,取得查询状态.如完成,跳转到一个页面显示搜索结果.
      

  2.   

    慕白兄 
    没有什么方法可以让web客户端监听并响应服务器事件的吧?ajax也只是主动发出请求只是异步响应服务器返回的数据。
    那么它发出请求后肯定要监听服务器是否返回了数据吧,还是它也是通过定时的访问服务器来接收数据的?只是多线程用户感觉不到?
      

  3.   

    可用同步的.ajax没有用过,它应该有同步的.如果不行可用xmlhttp.
    但这个同步异步关系不大,这只是客户端的查询的一个方式.
    它需要定时访问服务器检测查询状态。多线程是在后台运行与它这个查询没有关系。 
    它要查询的页面与多线程只有一个状态共享。