ajax跨域请求jsonp完整示例

2022-07-05 14:26:14 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

最经用到jsonp(ajax)的跨域请求,在这分享给大家,有需要用到的一看就能明白。具体步骤如下:

1.首先客户端即页面script中调用代码如下:

代码语言:javascript复制
        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的写法及返回示例:

代码语言:javascript复制
@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跨域请求也就完成了

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149624.html原文链接:https://javaforall.cn

0 人点赞