jquery+ajax+jsonp实现跨域请求

以前一篇博客详细的说明了jsonp协议,jquery ajax封装了jsonp协议,让跨域请求实现如此简单:php

 
  1. $.ajax({
  2. type : "post",
  3. url : "http://www.phpddt.com/ajax/test",
  4. dataType : "jsonp",
  5. jsonp: "callback",//传递给请求处理程序或页面的,用以得到jsonp回调函数名的参数名(默认为:callback)
  6. jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
  7. success : function(json){
  8. alert('success');
  9. },
  10. error:function(){
  11. alert('fail');
  12. }
  13. });


 服务器端处理以下:html

 
  1. $data = .......
  2. $callback = $_GET['callback'];
  3. echo $callback.'('.json_encode($data).')';
  4. exit;


当使用jsonp时,使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。jquery

相关文章
相关标签/搜索