노력과 삽질 퇴적물

JS ajax: jsonp 본문

📂기초 및 세팅 note/언어. 스크립트 계열

JS ajax: jsonp

MTG 2019. 10. 27. 22:29

* 자바스크립트, 크로스 도메인 이슈 대응중 하나인 JSONP 방식 예제입니다.

* JSONP방식은 GET통신만 지원합니다.






예제


1) 자바스크립트, request

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
document.write("<script src='https://code.jquery.com/jquery-1.11.2.min.js'><"+"/script>"); 
var g_url = "https://domain_B";
var sendObject = {
       param1: "thisIsJsonp",
       param2: "withGet"
    };
    
jQuery.ajax({
    dataType: "jsonp",
    url : g_url,
    type: "GET",
    data: sendObject,
    
    jsonp: "jsonpCallBack",
    success: function (msg)
    {
        console.log(msg);
        alert("성공!");
    },
    error : function (msg, status, err)
    {
        console.log("status=" + status);
        console.log("msg=" + msg);
        alert('실패!');
    }
 });
cs



2) 자바, 서블릿

-> 리스폰스를 넣을때 리퀘스트에 있던 콜백함수명으로 입력치 않으면 'JSONP response is not defined'쪽 문제가 발생합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
... ... ...
 
public class AdvenceReservation extends HttpServlet
{
    @Override
    protected void doGet(HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws ServletException, IOException
    {
        String param1 = servletRequest.getParameter("param1");
        String param2 = servletRequest.getParameter("param2");
        ... ... ...
        String callBack = servletRequest.getParameter("jsonpCallBack");
        
        PrintWriter writer = servletResponse.getWriter();
        writer.write(callBack +"( {\"result\":\"ok\"} )");
        writer.flush();
        writer.close();
    }
}
cs






참조자료.


[Ajax] JSONP를 이용하여 Cross Domain 해결 :: 개발은 전투다

javascript - AJAX with JSONP returns error Callback is Undefined - Stack Overflow






기타. 변경이력


일자

변경이력

2019-10-27

 초안

'📂기초 및 세팅 note > 언어. 스크립트 계열' 카테고리의 다른 글

루아: 기초정리(2)  (0) 2019.06.06
루아: 기초정리(1)  (0) 2019.05.26
HTML5: cocos2d-js 기초 (1)  (0) 2018.05.23
파이썬3: 기초정리(2)  (0) 2018.05.18
파이썬3: 기초정리(1)  (0) 2018.05.14