Heim  >  Artikel  >  Backend-Entwicklung  >  jsonp 使用简单记录(一)

jsonp 使用简单记录(一)

WBOY
WBOYOriginal
2016-07-29 09:06:22804Durchsuche
jsonp 使用环境一般是在做不同域的登录或者数据交换时前台和后台交换可用
原理:
引入的js可以是不同域,js文件可以从后台生成
(这里说的有点简单,大家多去找找资料)

使用DEMO:

html:
//原生js


    <title></title>
    <script type="text/javascript">
    // 得到航班信息查询结果后的回调函数
    var returnjs = function(data){
        alert(data.code);
    };
    // 提供jsonp服务的url地址(不管是什么类型的地址,最终生成的返回值都是一段javascript代码)
    var url = "http://www.return.com/jsonp/get?code=1&callback=returnjs";//数据接收后台
    // 创建script标签,设置其属性
    var script = document.createElement(&#39;script&#39;);
    script.setAttribute(&#39;src&#39;, url);
    // 把script标签加入head,此时调用开始
    document.getElementsByTagName(&#39;head&#39;)[0].appendChild(script);
    </script>



//jQ版



<meta charset="UTF-8">
<title>Insert title here1</title>
<script type="text/javascript" src="jq.js"></script><!-- 记得引入jq -->


<script type="text/javascript">
	jQuery(document).ready(function(){
	   $.ajax({
	        type: "get",
	        async: false,
	        url: "http://www.return.com/jsonp/get?code=1",//数据接收后台
	        dataType: "jsonp",
	        jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
	        jsonpCallback:"returnjs",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据
	        crossDomain:true,
	        success: function(json){
	            alert(json.code);
	        },
	        error: function(){
	            alert(&#39;fail&#39;);
	        }
	    });
	});
</script>

后台PHP:
<?php class jsonp{
	public function get(){
		$code=$_GET[&#39;code&#39;];
		if($code==1){
			$code=2;
		}
		echo &#39;returnjs({"code":"&#39;.$code.&#39;"})&#39;;
	}
}

以上就介绍了jsonp 使用简单记录(一),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
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
Vorheriger Artikel:php实现的xml操作类Nächster Artikel:php curl get