jquery读取json文件跨域_三种jQuery使用JSONP实现跨域获取数据的方法

本文主要介绍了jQuery使用JSONP实现跨域获取数据的三种方法,结合实例形式对比分析了jsonp跨域获取数据的3种常用操作技巧,需要的朋友可以参考下,希望能帮助大家。

第一种方法是在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

jsonp

$.ajax({

type : "post",

url : "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('请求失败');

}

});

jsonp.php

$data["age"] = $_GET['age'];

$data["name"] = $_GET['name'];

$data["statusCode"]="200";

$data["message"]="成功";

$tmp= json_encode($data); //json数据

echo $callback . '(' . $tmp .')'; //返回格式,必需

?>

相关推荐:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值