gpt4 book ai didi

jquery - 了解 JSONP 和 Rails 的基础知识

转载 作者:行者123 更新时间:2023-12-03 22:49:07 25 4
gpt4 key购买 nike

我很难找到一些关于使用我的应用程序执行 JSONP 的可接受方式的基本信息...

让我解释一下,假设我有一个以 json 格式提供响应的应用程序(应用程序 A),我如何从不同的站点使用 jQuery 调用该脚本,并加载该 JSON 数据?我很确定我可以链接到应用程序 A 上的 JS 文件并使用它将数据加载到页面中,但除此之外,我对执行此操作的正确约定有点迷失......任何帮助都是非常感谢,即使只是为我指出正确的方向或文章也会很棒。

最佳答案

这确实是一件微不足道的事情。

在客户端,您可以执行通常的 ajax 请求,只需使用“jsonp”类型。

$.ajax({
dataType: 'jsonp',
success: function(response) {
}
});

在服务器端,您返回这样的数据

'/**/' + params[:callback] + '("' + response + '");';

它将产生类似 /**/callback_name("my_response"); 的内容。 my_response 字符串将由 jquery 传递给 ajax 成功处理程序。

您还可以返回 json 对象和数组,例如 callback_name([1, 2, 3]);

编辑
流程将像这样进行。

  1. jquery 发送 ajax 请求并自动提供 callback 参数。
  2. 您的服务器写入有效的 JavaScript 代码作为响应。
  3. 浏览器执行返回的 JavaScript 代码。如果调用回调函数,jquery 会将回调函数中传递的参数返回给您。

还有一个wikipedia article ,如果对 jsonp 是什么感到困惑。

2015年编辑请注意,由于安全漏洞,Rails 改变了他们执行此操作的方式。它们在函数调用之前添加了 JavaScript 注释,我已将其添加到上面的代码中。 This is the code change in question.

关于jquery - 了解 JSONP 和 Rails 的基础知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3562699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com