1.get 方式
var getData={
questionIDs:qustionArr
}
var questionArr=[]
questionArr.push(12345678)
// 定义一个函数 关键就在这里 原生的请求传数组是行不通的,需要将数据做一个格式化处理
function formatDate() {
for(var i in postData){
if(Array.isArray(postData[i])){
for(var j=0;j<postData[i].length;j++){
a+=i+"%5B%5D="+postData[i][j]+'&'
}
}else{
a+=i+"="+postData[i]+'&'
}
}
a=a.substring(0,a.length-1)
}
formatDate()
// 接下来是正常的发送get请求了
var xhr=new XMLHttpRequest()
// 这里要将格式化的数据作为参数传递给后台
xhr.open( 'get' ,‘http://baidu.com’+a,true )
xhr.send()
xhr.onreadystatechange = function() {
// 上传成功
if (xhr.readyState == 4 && xhr.status == 200) {
var res = JSON.parse(xhr.response) //这里要用JSON转化一下
}else{ alert('获取数据失败' ) }
}
2.post 方式
数据的格式化操作是一样的 , 请求的写法不同。
var xhr=new XMLHttpRequest()
// 这里要将格式化的数据作为参数传递给后台
xhr.open( 'post' ,‘http://baidu.com’,true )
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); //使用post方式 需要设置一下header的content
xhr.send(a)
...
最后 ,在此特别感谢一下姜雅文同学的指导 写在此处 作为标记。