好像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 是传参进入的回调函数
以上只是举个例子,你根据你的实际情况完善代码即可
添加回答
举报
0/150
提交
取消