java - 发送 JSONP 与 JSON 数据?

标签 java web-services json jsonp

我正在制作一个需要以 JSONP 格式返回数据的 Web 服务。我正在为 JSP 使用 JSON 标签库,我认为所有必须添加的都是括号,但我找不到一个好的资源来验证这一点。

例如,web 服务函数使用此函数返回:

private static String getJSONPObject(String s) throws JSONException {
    return "(" + new JSONObject(s) + ")";
}

这是正确的吗?

谢谢!

最佳答案

JSONP 只是一种允许 Web 应用程序跨域检索数据的 hack。可以说违反了Same Origin Policy (SOP)。 .它的工作方式是使用 Javascript 将“脚本”元素插入到您的页面中。因此,你需要一个回调函数。如果没有,您的 Javascript 将无法访问 JSON 对象。但是通过使用 JSONP,您的 Javascript 代码可以调用回调函数。

因此您必须指定回调名称。所以你的函数可能看起来像这样:

private static String getJSONPObject(String callback, String s) throws JSONException {
    return callback + "(" + new JSONObject(s) + ")";
}

关于java - 发送 JSONP 与 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4683114/

相关文章:

java - 这个Java场景内存泄漏在哪里呢?

java - 使用复合主键和注释 : 映射多对多

PHP 在 WAMP 中返回 HTML 标签和 JSON

android - 如何使用 volley 库在 android 中解析嵌套的 json 数组

json - VBA/JIRA/JSON : add new key/value to dictionary parsed from a JSON

java - 我在使用 readStream().format ("kafka"时遇到问题)

java - DefaultHttpClient 在多个请求上保持 Activity 连接

java - JAVA 中带有 JSON 字符串的 HTTP POST 请求不起作用

ASP.Net 哪个用户帐户在 IIS 7 上运行 Web 服务?

c# - Web 服务错误 : operation with parameters cannot be found