contentType:“application/json“
在jquery的ajax中,如果没加contentType:"application/json",那么data就应该对应的是json对象;反之,如果加了contentType:"application/json",那么ajax发送的就必须是字符串。request({url: url,body:JSON.stringify(param),method: 'POST',
·
在jquery的ajax中,如果没加contentType:"application/json",那么data就应该对应的是json对象;反之,如果加了contentType:"application/json",那么ajax发送的就必须是字符串。
request({
url: url,
body: JSON.stringify(param),
method: 'POST',
json: true,
headers: {
"content-type": "application/json",
}
}, function(error, response, body){
let parsed = null;
if(error){
return rej(error);
}else{
if(response.statusCode !== 200){
return Q.reject({response, body});
}
}
if(typeof body === 'string'){
body = decodeURIComponent(body);
parsed = JSON.parse(body);
}else{
parsed = body;
}
logger.infoAll('[request - OK] reqParam =>', reqParam, '\nresponse =>', parsed);
rsv(parsed);
});
不加contentType:"application/json"的时候,发送类型变为默认的application/x-www-form-urlencoded,而这种方式会以键值对的形式将对象序列化,所以传进去的对象实际上还是变成了字符流。
更多推荐
已为社区贡献3条内容
所有评论(0)