异步请求只能使用IO流传输的原因
原生的AJAX实现中,使用了一个对象——XMLHttpRequest
后面我们在写AJAX时,都是基于上层框架去实现,但是框架的核心依然是这个对象——XMLHttpRequest
我们都需要实例化XMLHttpRequest对象,在这个对象中设置属性,基于这个对象的responseText方法发送数据给服务器
所以异步请求其实是基于一个对象去实现的,无论是发送数据还是接收数据,都基于这个对象。
如果要进行请求转发和重定向,需要改变页面的URL——而这是一个对象无法做到的。
这个对象只能单纯的进行属性接收——XML文件、json字符串、text字符串等。
因此异步请求无法使用请求转发和重定向,只能通过IO流去实现数据传输——异步请求本质就是一个对象属性值的传递
图例:原生的AJAX实现 基于doGet