我正在制作一个需要以 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/