jsonp跨域

//一,客戶端代碼示例
$("#btn").click(function(){
	var j = $("form").serialize();//序列化name/value
	$.ajax({
	    url:"http://www.jiangcms.com/jsonp.php",
	    type:"post",
	    //data:{'name':'jiang','pass':123456,'dbcache':'redis','db':'mysql','js':'javascript'},
	    data:j,
	    dataType:"jsonp",  //類型,代表當前Http請求爲jsonp的請求方式
	    jsonp: 'callback', //jsonp回調參數,必需,默認callback,代表的是遠程服務端接收客戶端回調函數名的參數名
	    //jsonpCallback: "callbackHandler", //代表遠程服務調用結束後的本地回調函數名,也可以不給這個jsonpCallback參數,遠程服務調用成功後,執行了SUCCESS這個回調函數,該函數與SUCCESS回調函數相同
	    cache:false,
	    success:function(data){
			console.log(data);
			$("#append").append(data.dbcache+'---'+data.db);
	    },
	    error:function(error){
	      console.log(error);
	    }
	});
});
//客戶端回調
function callbackHandler(json) {
    // console.log(json);
    // alert(json.content);
    $("#append").append(json.dbcache+'---'+json.db);
}
//服務端代碼示例
header("Content-Type:text/html;charset=UTF-8");
$callback = isset($_GET['callback']) ? trim($_GET['callback']) : ''; //jsonp回調參數,必需參數
$data =array('name'=>$_GET['name'],'pass'=>$_GET['pass'],'dbcache'=>$_GET['dbcache'],'db'=>$_GET['db'],'js'=>$_GET['js']); //jsonp回調參數,必需 
$result  = json_encode($data); //以json數據格式返回
echo $callback."($result)"; //返回格式,必需  


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章