我找到了this question从jsp将响应类型设置为json,但我需要将响应类型设置为jsonp以进行跨域访问。还是这样吗:
response.setContentType("application/javascript");
只是将 jsp 的响应包装在 callbackfunction(
+ content + )
中,还是还有其他事情需要完成?
最佳答案
我最近不得不这样做。在服务器端我有类似这样的东西:
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); });
关于jsp - 从 JSP 返回 JSONP 而不是 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13993385/