跨服务器传值,jsonp的基本实现,在不能共享cookie时可以使用;
跨服务器传值首先用cookie,用不了再用jsonp;
在java应用端点击论坛后跳到论坛并自动登录;
1点击时跳到gotobbs.jsp设置cookie,然后再跳转;此为准备数据,不是jsonp;
2?在php应用的登录页login_simple或footer.html中加如下js:
?
<script type="text/javascript">
function backlogin(result){
if(login==1){
// alert(result.name);
// alert(result.pwd);
if(result.name!=''&&result.pwd!=''){
if($('ls_username')){
$('ls_username').value=result.name;
$('ls_password').value=result.pwd;
$('lsform').submit();
}
}
}
}
</script>
?下面是最重要的一句
<script type="text/javascript"src="http://localhost:8080/fss/page/jsonp/getCookie.jsp?callback=backlogin"></script>
?
说明:login=1,原是为区分是否退出的,不重要,可无;最重要的是上边这一句,带src的,用请求动态生成js语句(也就是拼字符串),此语句可以调用backlogin函数,参数是动态生成的json,因此有很大的灵活性;json数据来自cookie,也可以来自其它;此script+src也可以动态生成并追加至文档。
?
3?getCookie.jsp
<%
String name = "";
String pwd = "";
Cookie[] cookies = request.getCookies();
if (null == cookies) {
return;
}
for (Cookie c : cookies) {
if ("fss_name".equals(c.getName())) {
name = c.getValue();
}
if ("fss_sss".equals(c.getName())) {
pwd = c.getValue();
}
}
%>
<%
String callback = request.getParameter("callback");