jsonp 学习实例

jsonp.html

<!DOCTYPE html>
<html>
   <head>
   	  <meta charset="utf-8">
      <title>jsonp 跨域</title>
      <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
   </head>
   <body>
   		<script type="text/javascript">
   		// jquery 跨域传值
   		$(function(){
   			$.ajax({
   				url:"http://dev.fangfull.com/html/ff/test.php",
   				dataType: "jsonp",
   				jsonp: "cb", //传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)  
   				jsonpCallback:"test",	//需要的回调函数
   				success: function(data){
   					//alert(data.name);
   					var $ul = $("<ul></ul>");
   					console.log(data);
   					var data = eval(data);
   					console.log(data);
   					for( var i = 0; i<data.length; i++){
   						$("<li/>").text(data[i].name + " " +data[i].sex).appendTo($ul);
   					}
   					// $.each(data,function(i,v){
   					// 	$("<li/>").text(v.name + " " + v.sex).appendTo($ul)
   					// });	//$re = '[{"name":"wxf","sex":"female"},{"name":"xjj","sex":"male"}]';  输出json格式字符串,对象  二维数组
   					// $("<li/>").text("姓名:" + data.name + " 性别:" + data.sex).appendTo($ul);		//php json_encode 一维数组
   					$("#remote").append($ul);
   				},
   				error: function(){
   					alert('fail');
   				}
   			})
   		})

		// js跨域传值
		//回调函数
		function test(str){
			alert(str[0].name);
		}
		setTimeout(function(){
			var url = "http://dev.fangfull.com/html/ff/test.php?cb=test";
			var script = document.createElement('script');
			script.setAttribute('src',url);
			document.getElementsByTagName("body")[0].appendChild(script);
		},100)

   		</script>

   		<div id="remote"></div>

   		
   </body>
</html>

test.php

<?php
	$str = $_GET['cb'];
	// $arr = array(
	// 	'name' =>'wxf' ,
	// 	'sex' => 'female'
	// );
	
	// $a = array('name' => 'wxf' , 'sex' => 'female' );
	// $b = array('name' => 'xdf' , 'sex' => 'female' );
	// $c = array('name' => 'sl' , 'sex' => 'male');
	// $arr = array($a,$b,$c);

	$arr=array(
		"0"=>array(
			"name"=>"wxf",
			"sex"=>"female"
		),
		"1"=>array(
			"name"=>"xdf",
			"sex"=>"female"
		),
		"2"=>array(
			"name"=>"sl",
			"sex"=>"male"
		)
	);

	$re = json_encode($arr);
	// $re = '[{"name":"wxf","sex":"female"},{"name":"xjj","sex":"male"}]';
	$re = $str."(".$re.")";
	echo "$re";
?>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值