jsp - 从 JSP 返回 JSONP 而不是 JSON

标签 jsp jsonp

我找到了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/

相关文章:

javascript - 在网页上同时使用 JSP 和 Javascript 的设计模式

java - JsonpRequestBuilder访问google网页超时异常

javascript - 如何从函数本身外部的 ajax 调用访问数据

java - 无法进入jsp文件中的if语句

java - 如何模拟 HttpServletRequest、HttpServletResponse 和 ServletContext?

spring - 将 HTML5 占位符属性添加到 Spring 3.0 表单输入元素

java - jsp:forward 在 Java 中不使用 JSP 标签?

javascript - 加载 JSON-P 时可以避免使用全局回调函数吗?

java - 如何在 Json 响应中设置 http header

javascript - 如何使用 JQuery 和跨站点脚本编写 ajax?