为了账号安全,请及时绑定邮箱和手机立即绑定

原生JS如何指定ajax返回的数据类型??

原生JS如何指定ajax返回的数据类型??

倚天杖 2018-12-21 19:15:32
好像jquery可以这样指定返回的数据类型dataType:"json", 但是在原生JS里面应该怎么指定呢?我想在前台只接收json格式的数据?function ajax(url,data,funsucc){            var oAjax=new XMLHttpRequest();            oAjax.open('post',url,true);                               oAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");            oAjax.send("name="+data);                oAjax.onreadystatechange=function(){              if(oAjax.readyState==4){                if(oAjax.status==200){                  funsucc(oAjax.responseText);                }              }            }        }
查看完整描述

1 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

不同语言之间不可能存在共通的数据类型的,你看到的所谓的返回数据类型也只是根据函数参数做了类型转换罢了,http通信的内容肯定是字符流


所以你的问题是原生js怎么指定返回数据类型,这正是你所要做的工作,根据你指定的数据类型做数据类型转换并捕获异常数据即可。


比如你需要返回json类型,然后你接受的原始数据是data那么你可以


var _data = JSON.parse(data);   // 此处_data 就是你指定的数据类型

下面代码再扩展下,根据datatype做判断你可以,仍旧假设data是内容


datatype = typeof datatype === undefined || typeof datatype === "" ? "text" : datatype;

var _data;

switch(datatype){

    case "json":

        _data = JSON.parse(data);   // 此处_data 就是你指定的数据类型

        break;

    case "text":

        _data = data;

        break;

}

cbfn(_data); //cbfn 是传参进入的回调函数

以上只是举个例子,你根据你的实际情况完善代码即可


查看完整回答
反对 回复 2019-01-29
  • 1 回答
  • 0 关注
  • 1049 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信