jsonp java 구현시 jQuery was not called 나오는 경우
호출 하는 곳
function checkBal(){
var url ="http://1.1.1.1/Search/check?callback=?"
$.ajax({
url: url,
type : "GET",
dataType: "jsonp",
data: {'id': 'test'},
jsonpCallback:"callback",
success: function(data) {
console.log('callback success');
},
error:function(request,status,error){
console.log("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
})
서버쪽
@RequestMapping(value = "/check", method=RequestMethod.GET)
@ResponseBody
public void request(@RequestParam String spcBizNo, @RequestParam String callback,HttpServletResponse response) throws IOException {
Map<String, String> paramMap = new HashMap<String, String>();
System.out.println("callback spcBizNo====="+spcBizNo);
System.out.println("callback spcBizNo====="+callback);
paramMap.put("id", id);
paramMap.put("result", "success");
String result = null;
ObjectMapper mapper = new ObjectMapper();
try {
System.out.println("callback spcBizNo====="+resData.getTemp());
paramMap.put("stat_cd", resData.getTemp());
result = mapper.writeValueAsString(paramMap);
logger.info("result111={}", result);
result = callback + "(" + result + ")";
logger.info("result22222={}", result);
response.getWriter().print(result);
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return 방식으로 하는 경우 callback was not called 가 발생.
try catch 로 감싸서 보내니 성공 했다.
원인은 알아볼 시간이 없다
댓글
댓글 쓰기