今天开发的时候需要调用到其他部门的的一个地址,发过来的demo是
关键是在document.domain ="remote.net";这个使得我可以访问他的页面,根据这个demo改好页面后,我点击保存,没有反应了,js错误提示“没有权限”,上网查了下知道是这个domain引起的,这个时候就想通过js来把domain改回去,但是都提示错误,网上查到:
- document.domain 属性是不可以随便设置的,它只能被设置为文件所属域的上级域。如假设 ImgUpload.html 属于 img.mycompany.com ,那么它的 document.domain 属性可以设置为“mycompany.com” ,但不能设置为“img.mycompany” 或其他的,如“foo.com”。
- 只有当两个域存在相同的上级域时,才能通过指定 document.domain 来实现它们之间的数据交换,并且 document.domain 属性必须被 设置为二者的公共域。例如,假设 NewsEdit.html 属于 news.mycompany.com,而 ImgUpload.html 属于 img.yourcompany.com,那么无论你如何设置 document.domain 都无法在它们之间交换数据;再比如,假设 ImgUpload.html 属于 img.mycompany.com,那么我们可以把两个页面的 document.domain 属性设置为“mycompany.com”,但不可以设置为“img.mycompany” 或其他的什么域,如“foo.com”。
发现到这里这个调用没辙了,不应该在我的主页面改domain的,不然没法改回去。后来折腾了半天总算弄好了,主页面不动,代码改为
注意这里的domain不用设置了,然后把地址指向自己的页面,在自己的页面上做文章。
然后是myurl.jsp代码
当然远程调用也改造过,会回调这个页面的userSelect方法,这个方法会把数据返回。