javascript - JSONP函数调用问题

标签 javascript jquery jsonp

我设置了一个跨域的 Web 服务,需要通过带有 padding 的 json 进行联系 在像这样的简单 jquery 代码线上,我成功取回了 json 数据。

$.getJSON("http://server/series/hist?jsonp=?", function(data){
 console.log(data);
});

只要 url 中存在“jsonp”,Web 服务就会将结果包装在函数中。 对于这些情况,我使用了默认函数名称,例如:

myfunction({"a":1})

jquery 在这里帮助我,并尝试调用不存在的函数(“myfunction()”)。我想要实现的是简单地调用回调函数(见上文),以在本地处理数据。

你能指出我正确的方向吗?

谢谢

最佳答案

我不太确定你的问题到底是什么,但是:

解释 1

假设“本地”是指“不使用回调”:

那是不可能的。 JSON-P 无法同步工作,因为它依赖于添加 <script>元素(在当前函数执行完成之前不会被处理)。

解释2

假设 that isnt existing ("myfunction()")你的意思是“你的网络服务总是使用函数名称myfunction:

修复网络服务。 jsonp=?意思是“随机生成一个函数名并将其作为 jsonp 参数传递。

Web 服务必须使用该参数来确定所使用的函数名称,而不是使用固定值,例如 myfunction .

解释3

您不想使用 JSON-P 作为输入,而是直接调用匿名函数。

你不能。它不会存储在您可以访问的任何地方。您必须重写代码,以便它不会直接传递到 getJSON :

function myFunction(data){
  console.log(data);
}

$.getJSON("http://server/series/hist?jsonp=?", myfunction); 
myfunction({"a":1})

关于javascript - JSONP函数调用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9617886/

相关文章:

javascript - 让trigger()只运行一次函数

javascript - 当用户禁用 cookie 时跟踪用户?

javascript - 进入无限循环但看不出原因 - Javascript

javascript - 标签式菜单动画

javascript - Jquery - 由于类(class)发生变化,双击时遇到麻烦

javascript - SOP(同源策略)的含义

javascript - 收集多个 JSONP 结果

javascript - 在 GraphQL 中从 API 转换数据的最佳方法是什么

javascript - 如何编写 HTML 页面以在单击按钮时更新从文本文件导入的文本?

jquery - 这个 JSON 结构何时转换为所有字符串?