jsonp应用

Posted 明烟雨任

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsonp应用相关的知识,希望对你有一定的参考价值。

1.服务端jsonp格式数据

如客户想访问 : http://www.runoob.com/try/ajax/jsonp.php?jsonp=callbackFunction。

假设客户期望返回JSON数据:["customername1","customername2"]。

真正返回到客户端的数据显示为: callbackFunction(["customername1","customername2"])。

服务端文件jsonp.php代码为:

<?php

header(‘Content-type:application/json‘);

//获取回调函数名

$jsoncallback = htmlspecialchars($_REQUEST[‘jsoncallback‘]);

//json数据

$json_data=‘["customername1","customername2"]‘;

//输出jsonp格式的数据

echo $jsoncallback . "(" . $json_data .")";

?>

2.客户端实现callbackFunction函数

<script type="text/javascript">

function callbackFunction(result,methodName)

{

 var html=‘<ul>‘;

  for(var i =0;i<result.length;i++){

    html+=‘<li>‘+result[i]+‘</li>‘;

}

  html+=‘</ul>‘;

  document.getElementById(‘divCustomers‘).innerHTML=html;

}

</script>

 

客户端实现的完整代码

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JSONP 实例</title> </head> <body> <div id="divCustomers"></div> <script type="text/javascript">
function callbackFunction(result, methodName) {
var html = <ul>;
for(var i = 0; i < result.length; i++) {
html += <li> + result[i] + </li>;
}
html += </ul>;
  document.getElementById(divCustomers).innerHTML = html;
}
</script> <script type="text/javascript" src="http://www.runoob.com/try/ajax/jsonp.php?jsoncallback=callbackFunction"></script> </body> </html>
以上代码可以用jquery实现
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JSONP 实例</title> <script src="http://cdn.static.runoob.com/libs/jquery/1.8.3/jquery.js"></script> </head> <body> <div id="divCustomers"></div> <script>
$.getJSON("http://www.runoob.com/try/ajax/jsonp.php?jsoncallback=?", function(data) { var html = <ul>; for(var i = 0; i < data.length; i++) { html += <li> + data[i] + </li>; } html += </ul>; $(#divCustomers).html(html); });
</script> </body> </html>

 

以上是关于jsonp应用的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 应用程序中处理 JSONP 响应

在 react-redux 应用程序中使用 JSONP

JSONP 请求在 Angular 应用程序中给出 404

离子应用程序被 CORS 策略阻止,jsonp 也不工作

PhoneGap 应用程序 - JSONP 请求发生在浏览器中,但不在设备上(Android)

JSONP的诞生原理及应用实例