【发布时间】:2012-02-22 04:46:44
【问题描述】:
我需要在 .NET 中解析 JSONP 消息并在这些消息中找到 JSON。是否有任何描述有效 JSONP 消息的最新规范?
我发现 Bob Ippolito 的 this blog post(从 2005 年开始)指定了第一个 JSONP 提案,其中 JSONP 消息可以包含几乎任何 JavaScript 代码。
我还在 json-p.org 上发现了一个可能的 more recent specification,它只允许函数调用在名为 callback 的请求 URI 参数中指定的函数。
最后Wikipedia 说:
虽然填充(前缀)通常是回调的名称 在浏览器的执行上下文中定义的函数, 它也可以是变量赋值、if 语句或任何其他 JavaScript 语句。对 JSONP 请求的响应(即 遵循 JSONP 使用模式的请求)不是 JSON,也不是 解析为 JSON;返回的有效负载可以是任意 JavaScript 表达式,它根本不需要包含任何 JSON。但 按照惯例,它是一个调用函数的 JavaScript 片段 调用一些 JSON 格式的数据。
那么,是否有任何全局定义是什么使得有效的 JSONP 响应以及允许哪些 JavaScript 构造?我是否应该期待任何 JavaScript 代码,因为这是当前浏览器接受的(因为它具有 application/javascript 内容类型)?
【问题讨论】:
标签: javascript json jsonp