zoukankan      html  css  js  c++  java
  • JSONP跨域操作

    JSP

    <!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",//建议为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>

    Java

    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();
    }
    }
    }

  • 相关阅读:
    1105 Spiral Matrix (25分)(蛇形填数)
    1104 Sum of Number Segments (20分)(long double)
    1026 Table Tennis (30分)(模拟)
    1091 Acute Stroke (30分)(bfs,连通块个数统计)
    1095 Cars on Campus (30分)(排序)
    1098 Insertion or Heap Sort (25分)(堆排序和插入排序)
    堆以及堆排序详解
    1089 Insert or Merge (25分)
    1088 Rational Arithmetic (20分)(模拟)
    1086 Tree Traversals Again (25分)(树的重构与遍历)
  • 原文地址:https://www.cnblogs.com/haorun/p/6207778.html
Copyright © 2011-2022 走看看