promise+ajax+php实现交互

今天使用promise+ajax+php来查询数据库中用户名

js代码:

 function ajax(opts) {

            opts = Object.assign({
                type: 'GET',
                data: ''
            }, opts);

            var promise = new Promise((resolve,reject)=>{

                let xhr = new XMLHttpRequest();

                xhr.onload = function () {

                    if (xhr.status == 200) {
                        resolve(xhr.responseText);
                    }
                    else {
                        reject(xhr.statusText);
                    }
                };

                if (typeof opts.data == 'object') {
                    let tmp = [];
                    for (var attr in opts.data) {
                        tmp.push(attr + '=' + opts.data[attr]);
                    }
                    opts.data = tmp.join('&');
                }

                if (opts.type == 'GET') {
                    xhr.open('GET', `${opts.url}?${opts.data}`, true);
                    xhr.send(null);
                }
                else if (opts.type == 'POST') {
                    xhr.open('POST', `${opts.url}`, true);
                    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xhr.send(opts.data);
                }

            });

            return promise;

        }

        var j = ajax({
            url: '2_ajax_server.php',
            data : {username : 'xiaoming' , age : 20}
        });

        j.then(function(res){
            console.log(res);
        }).catch(function(err){
            console.log(err);
        });

php代码:

 $username = isset($_REQUEST['username']) ? $_REQUEST['username'] : '';

    echo $username;

小白一名,如有错误欢迎指出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值