1. 程式人生 > >jquery jsonp 案例

jquery jsonp 案例

//公共js類

var ajax_jsonp = {
    baseurl: "",
    send: function(data, complate) {
        /**
         * data : {"opp": "main", "pageType": pageType, "id": id} url引數
         * callback : 呼叫方法
         */
        $.ajax({
            type: "get", //使用get方法訪問後臺 
            dataType: "jsonp", //返回json格式的資料 
            jsonp: "callback", //傳遞給請求處理程式或頁面的,用以獲得jsonp回撥函式名的引數名(預設為:callback)
            jsonpCallback: "success_jsonpCallback", //自定義的jsonp回撥函式名稱,預設為jQuery自動生成的隨機函式名
            url: this.baseurl, //要訪問的後臺地址 
            data: data,//請求引數
            async: false, //同步和非同步目前無效果
            success: function(data) {
                console.info(data);
            },
            error: function() {
                console.info("error");
            }
        });
    }
};

js ajax

$(function() {
                ajax_jsonp.baseurl='php請求地址';
                ajax_jsonp.send({username:"username1",password:"password1"},"");
                
            });


php 端

public function index() {
        $array = array
            (
            'total' => 1,
            'f1' => "fff這是中文",
            'f2' => "fff{\/\fa#$%^@}"
        );
        echo $_GET["callback"] . '(' . json_encode($array) . ')';
        exit();
    }

請求響應
({"total":1,"f1":"fff\u8fd9\u662f\u4e2d\u6587","f2":"fff{\\\/\fa#$%^@}"})