JSON 데이터를 프런트 엔드에 보내려면 다음 코드를 작성하십시오. 하지만 도메인 간 보안 문제로 인해 JSONP로 변환해야 할 필요가 있습니다.이 변환을 위해 수정해야 할 부분을 제안 할 수 있습니까?JSON을 (를) JSONP로 변환하는 방법은 JSON에서?
서버 측 코드
JsonFactory jfactory = new JsonFactory();
ObjectMapper mapper = new ObjectMapper();
try {
StringWriter stringWriter = new StringWriter();
JsonGenerator jGenerator = jfactory.createJsonGenerator(stringWriter);
jGenerator.useDefaultPrettyPrinter();
jGenerator.writeStartObject(); // {
jGenerator.writeStringField("title", title); // "title" : title
jGenerator.writeStringField("Description", desc); // "desc" :
jGenerator.writeFieldName("images");
jGenerator.writeStartArray(); // [
if(imageArray.size() != 0){
for (String img : imageArray) {
jGenerator.writeString(img); // "msg 1"
}
}
jGenerator.writeEndArray(); // ]
jGenerator.writeEndObject(); // }
jGenerator.close();
response.getWriter().write(stringWriter.toString());
System.out.println(stringWriter.toString());
response.getWriter().close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("JasonGen servlet called end");
프런트 엔드 자바 스크립트 :
$.getJSON("http://localhost:8080/JsoupPrj/JasonGen?url="+ url[0],function(data){
var imageArray=[];
var imageOne = null;
imageArray=data.images;
....................
}
JSON과 JSONP의 차이점을 알고 있습니까? –
좋은 설명이있는 또 다른 게시물 : http://stackoverflow.com/questions/5350924/how-enable-jsonp-in-resteasy –