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

$.getJSON回调函数不执行

发布时间:2020-12-16 19:27:04 所属栏目:百科 来源:网络整理
导读:最近做的项目遇到一个跨域请求做验证的问题,为了解决这个跨域问题,愁了老半天,最后发现jQuery提供的一个特别简单的方法,就是用jQuery.getJSON(url, [data] , [callback] ) jQuery的Api提供一个列子: $.getJSON("http://api.flickr.com/services/feeds/p

最近做的项目遇到一个跨域请求做验证的问题,为了解决这个跨域问题,愁了老半天,最后发现jQuery提供的一个特别简单的方法,就是用jQuery.getJSON(url,[data],[callback])

jQuery的Api提供一个列子:

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",function(data){
$.each(data.items,function(i,item){
$("<img/>").attr("src",item.media.m).appendTo("#images");
if ( i == 3 ) return false;
});
});

说明一下注意事项:

1、请求地址一定要有 jsoncallback=? ,例如我请求 百度,传一个参数userName=123,应该这样写:http://www.baidu.com?userName=123&jsoncallback=? ,如果我不传参数userName,应该这样写:http://www.baidu.com?jsoncallback=?

2、第二个参数一定要是json格式键/值对的格式。例:{"email": "123@163.com"}

3、回调函数,您请求的地址需要返回数据,返回的数据必须是严格的json格式的数据,还需要用 参数jsoncallback加小括号包裹jsoncallback(json格式的数据),否则就会出现回调函数不会执行的问题。

下面有有两个页面参考:

a.jsp:

<html>
<head>
<title>TEST</title>
<script type="text/javascript" src="./jquery-1.6.2.min.js"></script>

<script type="text/javascript">
jQuery(function(){
$.getJSON("http://www.ma.com/ids/cn/b.jsp?email=123@163.com&callback=?",function(data){
alert(data.resultMsg);
});

});
</script>
</head>
<body>
</body>
</html>

b.jsp

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" errorPage="/error.jsp" %>

<% response.setContentType("application/json");//这个一定要加 String callback = request.getParameter("callback"); int status = 0; String remsg = "{"resultMsg":""+status+""}"; %> <%=callback+"("+remsg+")"%>

(编辑:李大同)

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

    推荐文章
      热点阅读