当前位置: 首页 > 面试题库 >

正在发送JSONP与JSON数据?

周锐
2023-03-14
问题内容

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

例如,曾经的Web服务功能都使用以下功能返回:

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

这样对吗?

谢谢!


问题答案:

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

因此,您必须指定回调名称。因此,您的函数可能如下所示:

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


 类似资料:
  • 问题内容: 我正在制作一个需要以JSONP格式返回数据的Web服务。我正在使用JSP的JSON标记库,我以为所有必须添加的都是括号,但是我找不到一个很好的资源来验证这一点。 例如,曾经的Web服务功能都使用以下功能返回: 这样对吗? 谢谢! 问题答案: JSONP只是一种黑客,它允许Web应用程序跨域检索数据。可以说它违反了同源起源策略(SOP)。它的工作方式是使用Javascript将“ scr

  • 我尝试使用(version4.0)调用api来提交一些数据。我想请求已经成功了。但我遇到的麻烦是,当进行调用时,我从服务器得到一个0字节失败的响应。 我已经尝试了StackOverflow上当前的许多解决方案,但找不到解决方案。谢谢你的帮助。 以下是我的设置:

  • 在我的android应用程序中,我发送了一个截击POST请求,但它不起作用。相反,它发送的是空参数。 如果我输入url(https://blogurl.com/wp-json/wp/v2/comments?post=20081 Postman为JAVA OKHttp生成的代码如下: 这是我用来发送POST请求的代码: 就像我之前说的,请求是真的,但是参数没有随请求一起发送。 应用他的解决方案后,我

  • 我试图用json作为主体数据在jmeter中发布帖子,但我只得到了400。我发送到的URL只接受json。我在《邮差》中也用过同样的卷发,效果很好。我曾尝试将json作为一个没有名称的值放入参数中,但没有成功。 我只是想发送{“uid”:“jmtest”,“name”:“newdevice”}。 对不起,我不能发布更多的链接。 采样结果为 请求看起来像 响应数据为

  • 问题内容: 我在从Java servlet内的JavaScript检索以JSON形式发送的数据时遇到查询。以下是我在做什么… 这是JavaScript内向Servlet发出请求的代码的一部分 在发出此请求时,我尝试检索从Servlet中的JavaScript发送的参数,但这样做时,我首先对如何从请求中检索数据感到困惑 我在servlet中使用了以下内容: 注意: 我的Servlet中的内容类型设置

  • 问题内容: 为什么在下面的代码中将数据发送为JSON格式而不是? 问题答案: 因为您既未指定请求内容类型,也未指定正确的JSON请求。这是发送JSON请求的正确方法: 注意事项: 使用此方法将javascript对象转换为本地和内置于现代浏览器中的JSON字符串。如果要支持较旧的浏览器,则可能需要包含json2.js 使用属性指定请求内容类型,以便向服务器指示发送JSON请求的意图 该属性用于服务