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

好像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);

                }

              }

            }

        }


倚天杖
浏览 1054回答 1
1回答

子衿沉夜

不同语言之间不可能存在共通的数据类型的,你看到的所谓的返回数据类型也只是根据函数参数做了类型转换罢了,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 是传参进入的回调函数以上只是举个例子,你根据你的实际情况完善代码即可
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript