跨域

来源:互联网 发布:ubuntu制作u盘windows 编辑:程序博客网 时间:2024/05/15 01:46

1.由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一与当前页面地址不同即为跨域

2.解决方法:

a.script标签加载并立即执行
browser:html>js

    document.getElementById("btn").onclick=function(){        var str=$('<script type="text/javascript" src="http://127.0.0.1:8080/testJsonp/test.jsp?name=fun">');        $(document).append(str);    }

Server:jsp

<%String name=request.getParameter("name");String html="\'<div id=\"gg\" name=\"ggb\" style=\"color:red\">fdsfdsfd</div>\'";out.print(“$(document.body).append(”+html+“)”);//自动在boty添加html%>

或者在html定义方法,在jsp调用方法,并传参

b.Ajax的Jsonp,自动解析json为js对象

 browser:html>jq    $.ajax("http://127.0.0.1:8080/testJsonp/test.jsp",{        dataType:'jsonp',        jsonp:'funName',        error:function(xhr,errMes,errObj){            alert(errMes);        },        success:function(data){//jQuery18309719266761046812_1484988035397({name:'xiaoming',age:20})            alert(data.name);        }    });Server:jsp<%String name=request.getParameter("funName");name+="({name:\'xiaoming\',age:20})";out.print(name);%>
0 0
原创粉丝点击