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

JSONP是否需要修改服务器?

蓝宜
2023-03-14
问题内容

我了解jsonp是一种绕过相同原始政策的技术。基本上,您在脚本标签中引用json服务服务器端点,因为脚本标签不受SO策略的限制。

我的问题是:假设服务器具有一个为json提供服务的终结点,是否需要对服务器进行任何修改才能在客户端中使用jsonp?

我想不,但是想确定。


问题答案:

是的,JSONP呈现时略有不同,因此您的服务器需要支持它。

JSON看起来像这样:

{ "name": "value" }

JSONP看起来像这样:

functionName({ "name": "value" });

如果您使用的是任何支持,都可以解决,但与仅支持JSON并不相同。当服务器收到请求时,例如:
http://example.com/json?callback=functionName,上面就是您应该呈现的内容,因为它在页面中的外观是这样的:

<script type="text/javascript" src="http://example.com/json?callback=functionName"></script>

这意味着需要返回运行的内容,例如,这是有效的:

<script type="text/javascript">
  functionName({ "name": "value" });
</script>

如果您的服务器 支持JSONP,则实际上是这样的:

<script type="text/javascript">
  { "name": "value" }
</script>

…并且您会收到语法错误,因为这不是有效的JavaScript。



 类似资料:
  • 我对Web的使用有点困惑.xml在Spring编写REST服务时使用泽西岛框架。在我看来,如果我使用注释来定义路径,为什么我们需要web.xml?我最近刚刚使用在线参考文档开发了Spring Boot应用程序,他们甚至没有提到web.xml。那么,说Spring已经删除了web.xml并用注释代替它是对的吗?(例如@Path、@Get、@Post)。我在同一行的第二个问题是,如果我没有web.xm

  • 问题内容: 我正在尝试创建一个小型且基本的基于“ ajax”的多人游戏。对象的坐标由PHP“处理程序”给出。通过使用ajax,每200MS会轮询一次handler.php文件。 我想知道,既然什么时候都没有发生就不需要轮询,那么是否有某些事情可以在不进行频繁轮询的情况下做同样的事情呢?例如。Comet,尽管我听说您需要为Comet配置服务器端应用程序。这是一个共享的Web服务器,所以我不能这样做。

  • 问题内容: 用uWSGI和Nginx设置Flask是非常困难的,即使使用扩展脚本也需要花费一些时间,并且必须记录到指令中以备后用。 如果我不打算在服务器上增加很大的负载(它对公共隐藏),那么在没有uWSGI的情况下运行它是否有意义?(Flask可以监听端口。Nginx可以转发请求吗?) 只在端口上运行裸瓶应用程序,甚至不使用Nginx是否有意义? 问题答案: 当你“运行Flask”时,你实际上是在

  • 我目前正在开发一个Android应用程序,我想包括Firebase云消息传递。我计划让树莓派每5分钟左右检查一个网站,并在发生变化时发送推送通知。在官方留档中,他们说我需要一个应用服务器才能通过Firebase发送消息。 这是否意味着我需要让我的Raspi全天候作为服务器运行,并且需要一个静态的IP/域?还是让我的Raspi通过Api(https://fcm.googleapis.com/fcm/

  • 问题内容: 用uWSGI和Nginx设置Flask是非常困难的,即使使用扩展脚本也需要花费一些时间,并且必须记录到指令中以备后用。 如果我不打算在服务器上增加很大的负载(它对公共隐藏),那么在没有uWSGI的情况下运行它是否有意义?(Flask可以监听端口。Nginx可以转发请求吗?) 只在端口上运行裸瓶应用程序,甚至不使用Nginx是否有意义? 问题答案: 当你“运行Flask”时,你实际上是在

  • 本文向大家介绍Docker 修改文件是否需要重启(命令详解),包括了Docker 修改文件是否需要重启(命令详解)的使用技巧和注意事项,需要的朋友参考一下 Docker 修改文件是否需要重启               Docker 修改文件是否需要重启,在做项目的时候,经常会修改文件,对于命令不是多了解,用了也是试试的态度,这里就整理下该如何使用,提高工作效率。 需要修改一期项目中的代码了,之前