加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax跨域访问解决

发布时间:2020-12-16 00:57:50 所属栏目:百科 来源:网络整理
导读:$.ajax({url:"http://a.com/ver?jsoncallback=?",dataType:"jsonp",jsonpCallback:"person",async:false,success:function(data){ alert(data.info); } }); 上面是Ajax的一些示例代码,其中有几个地方需要说明 async:false是取消异步请求,改变同步,因为这
		$.ajax({
			url:"http://a.com/ver?jsoncallback=?",dataType:"jsonp",jsonpCallback:"person",async:false,success:function(data){    
			   alert(data.info);  
			}     
		}); 


上面是Ajax的一些示例代码,其中有几个地方需要说明
async:false是取消异步请求,改变同步,因为这个地方如果改成异步的话,有时候请求还没返回,后面就执行了,导致方法不一致。

dataType:jsonp 这个是跨域的类型

jsoncallback=?在url后面加上这个,用来请求返回时调用(必须要加上的),?号的话,jquery会自动加上随机的字符串

response.setContentType("application/json;charset=utf-8"); 
String jsoncallback = request.getParameter("jsoncallback");
PrintWriter out = null;
out = response.getWriter();
	       
	        out.println(jsoncallback + "({"info":"success"})");


上面的JAVA代码中,有一个地方是很重要的,就是返回的时候,必须是用获取到的jsoncallback带着json数据返回。。

而且返回的数据格式是json,格式是{"info":"success"},里面的"一定也要加上,不然在前端接收不了

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读