2

jspからjsonに応答タイプを設定する際にこの質問を見つけましたが、クロスドメインアクセスのために応答タイプをjsonpに設定する必要があります。それでもこれでしょうか:

response.setContentType("application/javascript");

jspからの応答をcallbackfunction(+content+でラップするだけ)ですか、それとももっとやらなければならないことがありますか?

4

3 に答える 3

3

私は最近これをしなければなりませんでした。サーバー側では、次のようなものがありました。

string callbackName = queryMap['callback']; //jquery will pass in some name in our .getJSON call below
string jsonData = getJsonData();
string jsonp = callbackName + "(" + jsonData + ")";

response.SetContentType('application/javascript');
response.Send( jsonp );

そしてjavascriptではそれはそのようなものでした:

var url = getUrl() + "?callback=?";
$.getJSON(url,function(onSuccessData){ alert(onSuccessData); });
于 2012-12-21T18:15:13.597 に答える
0

javascriptでクロスドメインアクセスをサポートするには、$。support.cors=true;を使用できます。
それ以外は、content-typeをjsonpのapplication/javascriptに設定できます。

于 2012-12-21T17:05:13.663 に答える
0

jsp:

 String str = "{\"appNo\":\"" + "2" + .....+ "\"}";
    String json = "m1(" + str + ")";
    response.getWriter().write(json);

html:

 $.ajax({
          type: 'GET',    
          url: url,
          dataType: "jsonp",
          crossDomain: true,          
          cache:false,
           jsonp:"callback",
          success: function(data){  }....
   });

これは私のjspのコードです

于 2014-09-02T02:19:07.337 に答える