AJAX利用JSONP方式实现跨域数据传递

WBOY
Freigeben: 2016-08-08 09:29:20
Original
914 Leute haben es durchsucht

前一阵突发奇想想把网站上一些IFRAME调用彻底去掉,于是就想用ajax+json方式实现,后来发现报“No 'Access-Control-Allow-Origin' header is present on the requested resource”错误。由于ajax不能跨域,所以换成JSONP方式实现,很简单:

1.客户端源码



<meta charset="utf-8">
<title>test</title>



<script language="javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function() {
		var url = "http://192.168.1.102/index_szxx_ajax.php";
		$.ajax({
		  type: "get",
          async: false,
		  url: url,
		  dataType: "jsonp",
		  jsonp: "callback",
		  jsonpCallback:"infolist",
		  success: function infolist(data){//数据返回后的处理函数infolist
			  var backdata="";
			  for(var a in data){
				  for(var b in data[a]){
					  backdata=backdata+data[a][b]+"<br>";	
				  }
			  }
			  $("#backdata").html(backdata);
		}
	  });
});

</script>
<div id="backdata">正在查询...</div>


Nach dem Login kopieren

2.服务器端源码  index_szxx_ajax.php

 require("inc/conn.php");?>

$rows=array();

$sqlinfolist="select * from v_info where  info_state=1 and user_class=0 order by update_date desc limit 0,9";

$rs_listinfo=$db->query($sqlinfolist);
while(($r=$rs_listinfo->fetch_assoc())==true){
	$rows[]=$r;	
}
exit("infolist(".json_encode(gbk2utf8($rows)).");");//返回查询的JSON格式结果集并调用回调函数<span style="font-family: Arial, Helvetica, sans-serif;">infolist</span>


//服务器端数据库为gb2312编码,转为JSON格式必须为UTF-8编码否则有汉字的单元值会变成NULL;
function gbk2utf8($data){
    if(is_array($data)){
        return array_map('gbk2utf8', $data);
    }
    return iconv('gbk','utf-8',$data);
}
?>
Nach dem Login kopieren


以上就介绍了AJAX利用JSONP方式实现跨域数据传递,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!