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

相關文章
相關標籤/搜索