最近做的项目遇到一个跨域请求做验证的问题,为了解决这个跨域问题,愁了老半天,最后发现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){ 说明一下注意事项: 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> }); 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+")"%> |