日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

php 實(shí)現(xiàn)跨域交換數(shù)據(jù)

時(shí)間:2018-04-28 23:27:31 類型:PHP
字號(hào):    

在A網(wǎng)站中,我們希望使用Ajax來獲得B網(wǎng)站中的特定內(nèi)容。如果A網(wǎng)站與B網(wǎng)站不在同一個(gè)域中,那么就出現(xiàn)了跨域訪問問題。你可以理解為兩個(gè)域名之間不能跨過域名來發(fā)送請(qǐng)求或者請(qǐng)求數(shù)據(jù),否則就是不安全的,  這里可以通過客戶端及服務(wù)后臺(tái)配合的方法來一解決這個(gè)問題

客戶端解決方案: 

$("#btn").on('click',function(){
		var data = {names:'莊子'};
		$.ajax({
			type :'post',
	        url  :'http://www.ncyateng.com/test/test',
	        data :data,
	        dataType: 'jsonp',
	        crossDomain: true,
	        jsonp:"callBack",  //獲取數(shù)據(jù)的函數(shù), 服務(wù)后臺(tái)接收時(shí)的名字要一致
	        success:function(res){
	        	alert(res.names);
	        	console.log(res);
	        }
		})
	})

JS解析上面返回的數(shù)據(jù)

let data = res.data; //ajax返回的數(shù)據(jù)類型
function jsonCallback(json){
    return json;
}
var jsonObj = eval(data);
//這里的jsonObj得到的就是jsonCallback里面的內(nèi)容


服務(wù)端操作:

$names = isset($_POST["names"])?$_POST["names"]:"哈哈";
		$jsonp = $_GET['callBack'];//get接收jsonp自動(dòng)生成的函數(shù)名
		$arr = array(  
		    'names' => $names
		);
		echo $jsonp.'('. json_encode($arr). ')'; //jsonp函數(shù)名包裹json數(shù)據(jù)