java实现 jsonp_java web支持jsonp的实现代码

跨域说明

跨域指请求和服务的域不一致,浏览器和H5的ajax请求有影响,而对服务端之间的http请求没有限制。

跨域是浏览器拦截了服务器端返回的相应,不是拦截了请求。

jsonp跨域请求处理

Jsonp(JSON with Padding) 是 json的一种"使用模式",可以让网页从别的域名(网站)那获取资料,绕过同源策略(若地址里面的协议、域名和端口号均相同则属于同源),即跨域读取数据。

jsonp:利用script标签可以跨域,让服务器端返回可执行的javascript函数TuNQDbO,参数为要回发的数据。可看做带有回调函数的ajax请求。

js代码

$(function(){

/*

//简写形式,效果相同

$.getJSON("http://app.example.com/base/json.do?sid=1494&busiId=101&jsonpCallback=?",

function(data){

$("#showcontent").text("Result:"+data.result)

});

*/

$.ajax({

type : "get",

async:false,

url : "http:/XXX",

dataType : "jsonp",//数据类型为jsonp

jsonp: "jsonpCallback",//服务端用于接收callback调用的function名的参数

jsonpCallback:"自定义回调函数名"

success : function(data){

alert(data.info)

},

error:function(){

alert('fail');

}

});

});

java后端处理代码

@ResponseBody

@RequestMapping(value = "/url", produces= MediaType.APPTuNQDbOLICATION_JSON)

public String test(

HttpServletRequest request,

HttpServletResponse response) throws Exception{

String result = getResult();

response.setHeader("Pragma", "no-cache");

response.setHeader("Cache-Control", "private,no-cache,no-store,max-age=0");

response.setDateHeader("Expires", 0);

String str=request.getParameter(TuNQDbO"jsonpCallback");

if (str==null||str.equals("")) {

return result;

} else {

return str + "(" + result + ")";

}

}

CORS(协议跨域资源共享)(Cross-origin resource sharing)

它允许浏览器向跨源服务器,发出XMLHttpRe

Access-Control-Allow-Origin:* 允许所有域名的脚本访问该资源

Access-Control-Allow-Met编程客栈hods:GET,POST,PUT,DELETE,OPTIONS 运行什么方式访问资源

Access-Control-Expose-Headers:x-requested-with 暴露的信息

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: java web支持jsonp的实现代码

本文地址: http://www.cppcns.com/wangluo/javascript/245583.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值