JSONP(JSON with Padding)是一种绕过浏览器的同源策略限制,实现跨域请求的方法。它通过动态创建 <script> 元素,利用 <script> 元素的请求不受同源策略的限制的特性,来加载包含 JSON 数据的脚本文件。

在 jQuery 中,你可以使用 $.ajax() 方法并设置 dataType: 'jsonp' 来发起 JSONP 请求。以下是一个简单的 JSONP 请求的例子:
$.ajax({
  url: 'https://api.example.com/data',
  dataType: 'jsonp',
  jsonp: 'callback', // 设置回调参数名(服务器端应支持)
  success: function(data) {
    console.log('JSONP request successful:', data);
  },
  error: function(xhr, status, error) {
    console.error('JSONP request failed:', error);
  }
});

在这个例子中:

  •  url 是 JSONP 请求的目标地址。

  •  dataType: 'jsonp' 告诉 jQuery 你正在使用 JSONP。

  •  jsonp: 'callback' 设置了回调参数名,这是 JSONP 请求中的一个重要参数。服务器端应支持该参数,它通常由服务器生成,用于指定回调函数的名称。

  •  success 和 error 是成功和失败时的回调函数,你可以根据需要进行处理。


请注意,JSONP 请求需要服务器端支持 JSONP,因为它需要动态生成回调函数并将数据包装在回调函数中。如果服务器不支持 JSONP,那么 JSONP 请求将无法正常工作。

如果你在进行 JSONP 请求时遇到问题,建议查看 API 文档以获取有关支持 JSONP 的服务器端配置的详细信息。




转载请注明出处:http://www.zyzy.cn/article/detail/12895/jQuery