大家好,又见面了,我是你们的朋友全栈君。
最经用到jsonp(ajax)的跨域请求,在这分享给大家,有需要用到的一看就能明白。具体步骤如下:
1.首先客户端即页面script中调用代码如下:
var cardNumber="***********";
$.ajax({
type:"GET",
url:'你请求的服务地址?idCard='+cardNumber,
dataType: 'jsonp',
jsonp: "callback",
data:{},
async:true,
error:function(XMLHttpReuqest,textStautus){
alert(XMLHttpRequest.status);
alert(textStautus);
},
success:function(result){
alert("4444444");
}
});
这个写法需要引用Jquery(<script src=”jquery.min.js”></script>)
这个跨域暂时只能用GET方法,post据我所知好像不支持,idCard是你的参数。
2.服务端java的写法及返回示例:
@RequestMapping(value="risk",produces = MediaType.APPLICATION_JSON_UTF8_VALUE,method = RequestMethod.GET)
public String getCredit(){
String idCard=request.getParameter("idCard");
String callback=request.getParameter("callback");
System.out.println("callback==:"+callback);
System.out.println("idCard===="+idCard);
Map<String,Object> map=new HashMap<String, Object>();
map.put("name", "hello word!");
JSONObject json=JSONObject.fromObject(map);
String str=callback+"("+json+")";
return str;
}
记住这里的callback一定要和ajax中的jsonp的值统一,到这基本上就完成了,前端访问,后端输出如下:
一个简单的ajax跨域请求也就完成了,有帮助到你不要忘了点击关注哦!!
我会持续更新一些小技能。。。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149624.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...