用一个原生的JavaScript来写一个Ajax,来讲述怎么提交JSON参数到后端,首先提交JSON数据,后端要以JSON方式接收,另外前端要采用POST提交方式,下面来直接看代码。
Ajax原生的JavaScript写法分为六步:
具体代码直接看下面:
//1.创建ajax request对象
var request = new XMLHttpRequest();
//2.绑定监听回调函数
request.onreadystatechange = function(){
    //判断返回状态是否正常
    if(request.readyState ===4 &&request.status === 200){
        //6.接收数据
        var res = request.responseText;
        //输出数据
        console.log('返回值',res);
    }else{
        //错误
        console.log('error');
    }
};
/**
 * 3.打开请求
 * 第一个参数为请求方式,常用可选为 GET/POST,还有DELETE、UPDATE、OPTIONS等
 * 第二个参数为请求的链接,可以是相对路径和绝对路径。
 * 第三个参数设置请求为同步还是异步,true为异步,false为同步
 */
request.open("POST","https://cdn.sojson.com/file/demo-json.json",true);
/**
 * 4. setRequestHeader 方法可以设置请求头,这个看业务需要,这里设置为表单提交
 */
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
/**
 * 5.发送请求
 *
 * GET请求方式:request.send();
 *
 * POST请求方式:可以传参,可以是字符型的JSON或者 ?和 &方式如下:
 * request.send("name=Alice&age=23");
 * //这个方式如果后端接受不到参数,请把请求头改成 "Content-type","application/json"
 *
 *
 *
 */
//发送JSON数据
request.send('{"name":"Alice","age":23}');
                        我们从浏览器的请求信息里,可以看到提交参数,如下图:

Ajax接受JSON数据,是表示被请求方返回为JSON数据,前端需要接收数据,并且解析数据。
Ajax 步骤还是和上面一样,还是6个步骤,我们直接看代码。
//1.创建ajax request对象
var request = new XMLHttpRequest();
//2.绑定监听回调函数
request.onreadystatechange = function(){
    //判断返回状态是否正常
    if(request.readyState ===4 &&request.status === 200){
        //6.接收数据
        var res = request.responseText;
        //输出数据
        console.log('返回值',res);
        /**
         * 如果返回来的参数是JSON,就可以直接转换。
         */
        var json = JSON.parse(res);
        console.log('返回值-转换JSON对象',json);
        console.log('demo:',json.demo);
        console.log('Name:',json.Name);
        console.log('Birthday:',json.Birthday);
        console.log('Birthday:',json.Birthday);
        console.log('Birthplace:',json.Birthplace);
        console.log('Info:',json.Info);
    }else{
        console.log('error');
    }
};
/**
 * 3.打开请求
 * 第一个参数为请求方式,常用可选为 GET/POST,还有DELETE、UPDATE、OPTIONS等
 * 第二个参数为请求的链接,可以是相对路径和绝对路径。
 * 第三个参数设置请求为同步还是异步,true为异步,false为同步
 *
 * 备注:GET请求,直接把参数以 ?和 & 来传参,如 url+  ?name=Alice&age=23
 */
request.open("GET","https://cdn.sojson.com/file/demo-json.json",true);
/**
 * 4. setRequestHeader 方法可以设置请求头,这个看业务需要,这里设置为表单提交
 */
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
/**
 * 5.发送请求
 *
 * GET请求方式:request.send();
 *
 * POST请求方式:可以传参,可以是字符型的JSON或者 ?和 &方式如下:
 * request.send("name=Alice&age=23");
 * //这个方式如果后端接受不到参数,请把请求头改成 "Content-type","application/json"
 * request.send('{"name":"Alice","age":23}');
 *
 *
 */
request.send();
                            
                            我们从浏览器控制台(console)看到输出的内容:

版权所属:SOJSON(原创文章)
原文地址:https://www.sojson.com/json/json_ajax.html
转载时必须以链接形式注明原始出处及本声明。
综合技术交流:点击加入--> [SO JSON官方交流①群][收费]
综合技术交流:点击加入--> [SO JSON官方交流②群][免费]
要求:不能发广告、暴力、政治、付费教程,违者直接踢出。
备注:入群费用5元,没有QQ钱包,可以先支付宝 or 微信扫码支付5元赞助后,我拉您进去。QQ联系我。
扫码赞助:赞助二维码。
技术交流QQ群:①群259217951,②群166848545
站长邮箱:so@sojson.com
对页面内容有任何疑问和建议,请联系我们。
所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看
正在加载... ...