如何在客户端和服务器端设置 JSONP

本文关键字:服务器端 设置 JSONP 客户端 | 更新日期: 2023-09-27 18:34:35

我对使用 jsonp 时的回调函数感到非常困惑

这是我的json格式的js文件http://asla.dev.1over0.com/Guide/js/testjson.js

本质上是这个json

{"x": 10, "y":15} 

这是我将检索的数据这是我的网站,想要从跨域的js文件中获取数据的客户http://www.waveofcolor.com/faq.php为了让我在js文件中检索该数据,我必须包含js文件脚本标记中的 http://asla.dev.1over0.com/Guide/js/testjson.js并声明一个函数来告诉页面如何处理这些数据这是代码

function func(json){
alert(json.x) 
}
<script type="text/javascript" src="http://asla.dev.1over0.com/Guide/js/testjson.js"></script>

我想这是我感到困惑的部分;到目前为止,我已经读到您几乎只是在脚本标签中调用的 js 文件的末尾添加一个查询字符串

<script type="text/javascript" src="http://asla.dev.1over0.com/Guide/js/testjson.js"></script>

现在将是

<script type="text/javascript" src="http://asla.dev.1over0.com/Guide/js/testjson.js?jsonp=func"></script> 

我的问题是...jsonp 如何知道调用 func 函数?这需要在后端设置吗?如果是这样,如何使用PHP或.NET 4.0框架进行设置。如果我像这样硬编码并调用 js 文件中的 func 函数,我让 jsonp 工作

func({ "x": 10, "y": 15});

但是在js文件中调用实际函数是没有意义的吗?

一如既往,任何输入都值得赞赏

如何在客户端和服务器端设置 JSONP

是的,你是对的。 真正的 JSONP 需要后端支持。 通常,您返回的 JSON 也是动态的。 如果不是(每个人都只共享一块数据(,硬编码函数名称(选择一个比func更好的(是粗糙但有效的。

如果你想要实际的JSONP,有多种方法可以在后端完成。 请参阅这个琐碎的PHP示例以及有关 ASP.NET MVC上的JSONP的问题