ホームページ  >  記事  >  ウェブフロントエンド  >  Ajaxでカプセル化された関数jsonpの使い方

Ajaxでカプセル化された関数jsonpの使い方

一个新手
一个新手オリジナル
2017-09-09 15:08:041459ブラウズ

// 封装ajax jsonp处理
var api_url = '';
function ajax(url, para, success, error) {
    $.ajax({
        type: para.type ? para.type: 'GET',
        url: url,
        contentType: 'application/json',
        // 
        dataType: para.dataType || 'jsonp',
        // 数据格式
        async: para.async,
        // 同步异步
        data: para.data,
        // 请求字段名
        beforeSend: function(xhr) {
            // 发送数据前
        },
        success: function(res) {
            if (success) success(res);
        },
        error: function(request) {
            var res = request.responseText;
            if (typeof(res) == 'string') {
                res = JSON.parse(request.responseText); // JSON 处理返回的错误 解析
            }
            if (error) {
                error(res); // 返回的错误打印出来
            }
            if (res.code == 206 || res.code == 207) {
                // 服务器错误代码处理
            }
        }
    });
}
function ajax_general(option, para, success, error) {

    if (option.async == undefined) {
        option.async = true; // 判断同步与异步 
    }

    option.type = option.type ? option.type: 'POST'; // 判断get或post方式。如果没有设置。默认post 
    var url = api_url + option.action; // 定义 url 请求地址
    option.data = para; // 请求的字段
    ajax(url, option,
    function(res) {
        success(res);
    },
    error);
}

呼び出しメソッド:

ajax_general({
    action: 'mallUShopList'
},{
    mobile: '15606958460',
    api_token: 'd22160093310e86d538f652f57159eff',
},function(res) {
    // success
},function(error) {
    console.log(error);
});

以上がAjaxでカプセル化された関数jsonpの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。