1.Javascript在发送AJAX请求时, URL的域名地址是使用绝对地址还是相对地址?
在Ajax中,通过XMLHttpRequest对象实现与服务器端的通信。在不同浏览器中有不同的创建对象方法,但使用方法是相同的。
在XMLHttpRequest对象创建后,就可以对该对象进行各种不同的操作,从而完成于服务器的通信。
与服务器建立连接的方法:open(string request-type,string url,Boolean asynch,string name,string password)
@request-type:发送请求的类型
@url:要连接服务器的URL
@asynch:异步为true,否则为false;默认true
@username:若需要身份验证,则在此指定用户名
@password:若需要身份验证,在此指定口令
无论是使用相对地址还是绝对地址发送Ajax请求都是可以的,两者在发送请求时,服务器访问的地址都会转化为绝对地址。
绝对地址与相对地址相比是包含完整的路径,如"http://localhost:8080/ch/test/login.java",有协议类型,主机名等。
相对地址则是由文件名称来在网站页面下搜寻。如"login.java","/test/login.java"。
但是如果使用相对地址的话,一定要填写正确,不然可能导致服务器访问地址是错误的。例如使用"login.java",服务器访问的可能是"http://localhost:8080/ch/test/login.java"。而"/test/login.java",服务器访问的可能是"http://localhost:8080/test/login.java"。最终访问结果不同。
2.什么是浏览器跨域访问操作,js如何实现
跨域就是一个域上加载的脚本获取或操作另一个域上的文档属性。
(1)通过jsonp跨域
(2)通过修改document.domain来跨子域
(3)使用window.name来进行跨域
(4)使用HTML5中新引进的window.postMessage方法来跨域传送数据



