发送JSONP与JSON数据?

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

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

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

它是否正确?

谢谢!

JSONP只是一个允许Web应用程序跨域检索数据的黑客行为。 可以说它违反了同源政策(SOP) 。 它的工作方式是使用Javascript在页面中插入“script”元素。 因此,您需要一个回调函数。 如果你没有,你的Javascript将无法访问JSON对象。 但是通过使用JSONP,您的Javascript代码可以调用回调函数。

所以你必须指定回调名称。 所以你的function可能如下所示:

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

我添加了一个示例来使用Jquery和Servlet或JAX-WS webservice来解决跨域JSONP(带有填充的Json)。

请查看这篇文章。
http://reddymails.blogspot.com/2012/05/solving-cross-domain-problem-using.html