网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 浅谈JQuery+ajax+jsonp 跨域访问
内容
    Jsonp(JSON with Padding)是资料格式 json 的一种“使用模式”,可以让网页从别的网域获取资料。
    一. 客户端
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>Insert title here</title> 
    <script type="text/javascript" src="resource/js/jquery-1.7.2.js"></script> 
    </head> 
    <script type="text/javascript"> 
    $(function(){   
      /* 
      //简写形式,效果相同 
      $.getJSON("http://app.example.com/base/json.do?sid=1494&busiId=101&jsonpCallback=?", 
          function(data){ 
            $("#showcontent").text("Result:"+data.result) 
      }); 
      */ 
      $.ajax({ 
        type : "get", 
        async:false, 
        url : "http://app.example.com/base/json.do?sid=1494&busiId=101", 
        dataType : "jsonp",//数据类型为jsonp 
        jsonp: "jsonpCallback",//服务端用于接收callback调用的function名的参数 
        success : function(data){ 
          $("#showcontent").text("Result:"+data.result) 
        }, 
        error:function(){ 
          alert('fail'); 
        } 
      });  
    }); 
    </script> 
    <body> 
    <div id="showcontent">Result:</div> 
    </body> 
    </html> 
    二. 服务器端
    import java.io.IOException; 
    import java.io.PrintWriter; 
    import java.util.HashMap; 
    import java.util.Map; 
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse; 
    import net.sf.json.JSONObject; 
    import org.springframework.stereotype.Controller; 
    import org.springframework.web.bind.annotation.RequestMapping; 
      
    @Controller 
    public class ExchangeJsonController { 
      @RequestMapping("/base/json.do") 
      public void exchangeJson(HttpServletRequest request,HttpServletResponse response) { 
        try { 
        response.setContentType("text/plain"); 
        response.setHeader("Pragma", "No-cache"); 
        response.setHeader("Cache-Control", "no-cache"); 
        response.setDateHeader("Expires", 0); 
        Map<String,String> map = new HashMap<String,String>();  
        map.put("result", "content"); 
        PrintWriter out = response.getWriter();    
        JSONObject resultJSON = JSONObject.fromObject(map); //根据需要拼装json 
        String jsonpCallback = request.getParameter("jsonpCallback");//客户端请求参数 
        out.println(jsonpCallback+"("+resultJSON.toString(1,1)+")");//返回jsonp格式数据 
        out.flush(); 
        out.close(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      } 
    } 
    以上就是小编为大家带来的浅谈JQuery+ajax+jsonp 跨域访问全部内容了
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/14 21:39:31