欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

jQuery中通过JSONP来跨域获取数据的三种方式

发布时间:2025/7/14 javascript 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 jQuery中通过JSONP来跨域获取数据的三种方式 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

第一种方法是在ajax函数中设置dataType为'jsonp'

$.ajax({dataType: 'jsonp',url: 'http://www.a.com/user?id=123',success: function(data){//处理data数据 } });

第二种方法是利用getJSON来实现,只要在地址中加上callback=?参数即可

$.getJSON('http://www.a.com/user?id=123&callback=?', function(data){//处理data数据 });

第三种方法是使用getScript方法

//此时也可以在函数外定义foo方法 function foo(data){//处理data数据 } $.getScript('http://www.a.com/user?id=123&callback=foo');

实例演练:

index.html

<!doctype html> <html> <head> <meta charset="utf-8"> <title>jsonp</title> <script src="http://xvpindex.qiniudn.com/Static/Plugins/jquery/jquery-1.8.0.min.js"></script> <script>$.ajax({type : "post",url : "http://www.topjui.com/jsonp.php?name=zhaoxiace&age=30",dataType : "jsonp",jsonp: "callbackParam",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback) jsonpCallback:"callbackFunction",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名 success : function(data){console.log(data.statusCode + "/" + data.message + "/" + data.name + "/" + data.age);},error:function(){alert('请求失败');}}); </script> </head>

 

jsonp.php

<? $data["age"] = $_GET['age']; $data["name"] = $_GET['name']; $data["statusCode"]="200"; $data["message"]="成功"; $tmp= json_encode($data); //json数据 echo $callback . '(' . $tmp .')'; //返回格式,必需 ?>

 

转载于:https://www.cnblogs.com/yhdsir/p/5026265.html

总结

以上是生活随笔为你收集整理的jQuery中通过JSONP来跨域获取数据的三种方式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。