javascript 有个对象 XMLHttpRequest ,利用它可以打开站点一个页面,但这个页面不会显示在当前页面中,只会保存在这个对象里,然后你用DOM方法可以操作这个对象,和操作当前文档一样。
比较典型的例子,老式的form提交,提交后总会打开一个页面,要么用本页打开,要么target="_blank"在一个新页打开。ajax解决了这个问题,它用一个javascript收集表单数据,然后用XMLHttpRequest发送到后台页面,然后XMLHttpRequest等待后台页面返回信息,返回的XML不是必须的,也可以返回html做字符串处理,整个过程如果不设定一些页面效果,用户是无法感觉到自己是否已经提交页面的(所以还是加个提交成功的提示)。
所以大多数情况ajax不是不可替代的,它只是提高了用户体验。
也有个别项目非ajax不可,比如地图网站,总不能让这个世界地图全部下载到客户机器才开始操作,一般是下载用户当前在所在坐标的部分地图,在根据用户的鼠标拖动,用户每拖动一次鼠标,实际是向服务器提交一起要查看地图的坐标,这样老的提交办法会显的笨拙,必须用ajax进行提交信息,服务器处理信息,再返回需要载入的图片地址,归根结底依旧是解决用户体验问题。
至于市场需求,如果整个项目大量使用ajax技术,那么会是整个项目用户体验有空前的提升效果,可以是一个很引人注意的卖点。如果只是个别几个地方用,那就没什么必要了,因为ajax也有它的缺陷,首先,它很多操作是由javascript生成,不利于搜索引擎,其次,ajax提交为utf-8,如果跨编码传输会出现乱码,而且想改变提交编码几乎不可能,只能用服务器端进行操作。
总之,ajax有利有弊,如果你已经开始重视用户体验了,那多用ajax吧