hvg*_*des 31 ajax jsonp ria server-side
我知道jsonp是一种绕过相同原始策略的技术.您基本上是在脚本标记中引用您的json服务器端点,因为脚本标记不受SO策略的约束.
我的问题是:假设服务器有一个服务于json的端点,服务器上是否需要进行任何修改以在客户端中使用jsonp?
我想不,但想确定......
Nic*_*ver 36
是的,JSONP在呈现时略有不同,因此您的服务器需要支持它.
JSON看起来像这样:
{ "name": "value" }
Run Code Online (Sandbox Code Playgroud)
而JSONP看起来像这样:
functionName({ "name": "value" });
Run Code Online (Sandbox Code Playgroud)
如果您使用的任何东西支持它,那么您将被覆盖,但它与仅支持JSON不同.当服务器获取请求时,例如: http://example.com/json?callback=functionName,以上是您应该呈现的内容,因为它在页面中的外观如下所示:
<script type="text/javascript" src="http://example.com/json?callback=functionName"></script>
Run Code Online (Sandbox Code Playgroud)
这意味着需要返回运行的东西,例如,这是有效的:
<script type="text/javascript">
functionName({ "name": "value" });
</script>
Run Code Online (Sandbox Code Playgroud)
如果你的服务器不支持JSONP,它实际上是这样的:
<script type="text/javascript">
{ "name": "value" }
</script>
Run Code Online (Sandbox Code Playgroud)
...而且你会得到语法错误,因为那不是有效的JavaScript.
| 归档时间: |
|
| 查看次数: |
8937 次 |
| 最近记录: |