“P”是什么意思?在 JSONP 中代表什么?

发布于 2024-12-02 12:17:58 字数 128 浏览 3 评论 0原文

我似乎无法找到明确的答案 - JSONP 中的 p 代表什么?到目前为止,我找到的候选者是 paddingprints。有人知道 JSONP 名称从何而来吗?

I can't seem to find a definitive answer on this -- what does the p in JSONP stand for?. The candidates I've found so far are padding and prints. Anyone know where the JSONP name came from?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

无风消散 2024-12-09 12:17:58

填充。

来自http://en.wikipedia.org/wiki/JSONP

JSONP 或“带填充的 JSON”是对基本 JSON 数据的补充
格式,一种允许页面从某个页面请求数据的使用模式
服务器在不同的域中。 JSONP就是这个问题的解决方案,
形成一种称为“跨源”的更新方法的替代方法
资源共享。
填充

虽然填充(前缀)通常是回调的名称
在浏览器的执行上下文中定义的函数,
它也可以是变量赋值、if 语句或任何其他
JavaScript 语句。对 JSONP 请求的响应(即
遵循 JSONP 使用模式的请求)不是 JSON,也不是
解析为 JSON;返回的有效负载可以是任意 JavaScript
表达式,并且根本不需要包含任何 JSON。但
传统上,它是一个调用函数的 Javascript 片段
调用一些 JSON 格式的数据。

换句话来说,JSONP的典型用途是提供跨域
通过将 JSON 有效负载包装在一个现有的 JSON API 中
函数调用。

希望有帮助。谷歌赢了!

Padding.

from http://en.wikipedia.org/wiki/JSONP

JSONP or "JSON with padding" is a complement to the base JSON data
format, a pattern of usage allowing a page to request data from a
server in a different domain. JSONP is a solution to this problem,
forming an alternative to a more recent method called Cross-Origin
Resource Sharing.
Padding

While the padding (prefix) is typically the name of a callback
function that is defined within the execution context of the browser,
it may also be a variable assignment, an if statement, or any other
Javascript statement. The response to a JSONP request (namely, a
request following the JSONP usage pattern) is not JSON and is not
parsed as JSON; the returned payload can be any arbitrary JavaScript
expression, and it does not need to include any JSON at all. But
conventionally, it is a Javascript fragment that invokes a function
call on some JSON-formatted data.

Said differently, the typical use of JSONP provides cross-domain
access to an existing JSON API, by wrapping a JSON payload in a
function call.

Hope that helped. Google wins!

神妖 2024-12-09 12:17:58

Stone,

据我所知,它代表“填充”。维基百科上有对此的解释: JsonP

它有什么作用?

它使您可以发出跨域请求并获取返回的 JSON 数据。
通常通过 HTML 脚本标签您可以调用另一个 JavaScript。

但是 JsonP 为您提供了一个回调函数,您可以返回 noraml Json 响应。

示例:

您创建一个脚本标记:

在此脚本中,GiveCarResponse 是另一个域上的回调函数。调用此函数将产生 Json 响应。例如:

{"CarId":5, "Brand":"BMVV", "GAS": false}

这有意义吗?

Stone,

What I know, it stands for 'Padding'. There is a explaination about it on Wikipedia: JsonP

What it does?

It gives you the possibility to make a CROSS-DOMAIN request and get JSON data returned.
Normally via the HTML script tag you call for another JavaScript.

But JsonP provide you a callback function and you can return noraml Json response.

Example:

You create a script tag:

  • <script type="text/javascript" scr="http://anotherDomain/Car?CarId=5&jsonp=GiveCarResponse"></script>

In this script the GiveCarResponse is the callback function on the other Domain. Invoking this function will result in a Json response. In example:

{"CarId":5, "Brand":"BMVV", "GAS": false}

Does this make sense?

冷情 2024-12-09 12:17:58

在维基百科中,它代表“填充”(或带有填充)。

http://en.wikipedia.org/wiki/JSONP

From wikipedia, it stands for "padding" (or with padding).

http://en.wikipedia.org/wiki/JSONP

北城孤痞 2024-12-09 12:17:58

嗯...您已经看过维基百科页面,并且您不信任其准确性?

这个标准网站似乎证实了“带填充”。

Umm ... you've seen the wikipedia page, and you mistrust its accuracy?

This standards site seems to confirm the "with padding".

爱已欠费 2024-12-09 12:17:58

它基本上意味着围绕 JSON 添加一个调用函数。
AJAX只能从自己的服务器调用,不能跨域。因此,要从客户端的不同服务器加载数据,您需要发出 JSONP 请求,基本上您从其他服务器加载正常的 javascript 文件,就像包含正常的 javascript 文件一样。由于 JSON 不是有效的 javascript 文件,因此 JSON 被包装在函数调用中以使其成为有效的 js 文件。然后,包装函数(已在您的代码中)提取该数据并将其显示在您的页面上。

It basically means to add a calling function around JSON.
AJAX can be called from your own server only and is not a cross domain. So to load data from different servers at client side, you make a JSONP request, basically you load a normal javascript file from other server just like you include a normal javascript file. Bust as JSON is not a valid javascript file, JSON is wrapped up in a function call to make it valid js file. the wrapped up function (already in your code) then extracts that data and show it on your page.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文