$.getJSON回调函数不执行
2012-05-14 18:24
288 查看
最近做的项目遇到一个跨域请求做验证的问题,为了解决这个跨域问题,愁了老半天,最后发现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+")"%> |
相关文章推荐
- $.getJSON回调函数不执行 .
- jQuery.getJSON( url [, data ] [, success ] ) 中的回调函数参数不执行
- PHPCMS通过getJSON调用的地址回调函数一直无法执行
- getJSON回调函数不执行问题?
- 日常问题记录--getJSON函数不执行回调函数的原因总结
- 同时执行多个$.getJSON() 数据混乱的问题的解决
- wx.request的fail回调函数执行两次的问题
- 查看回调函数执行在那个线程中的方法
- Jquery中getJson函数用法实例详解
- getJSON已经执行方法,但是报404
- 解决cin.getline()函数被跳过执行的问题(与cin连用)
- ajax回调函数执行顺序带来的同步异步问题
- cocos 关于多个触摸事件 依次点击时出现回调函数未执行的情况
- JS - 闭包,回调,立即执行函数表达式简单实现
- ajax请求返回的数据看不到回调函数没有执行也没报错
- ajaxFileUpload()中的success和error中的回调函数不执行的备注
- Ajax异步的回调函数执行了多遍
- getJSON已经执行方法,但是报404
- 比getjson好的底层函数
- jQuery中的全局函数getJSON()异步读取数据乱码问题