问题1
1.浏览器端无法发送https请求的时候
使用nginx进行转发,具体配置比较简单
问题2:
构建
表单
传送数据,提示缺失必要的参数。
{ “error” : “invalid_request”, “error_description” : “Missing grant type” }
if(window.XMLHttpRequest){
//code for all new browsers
xmlHttp = new XMLHttpRequest;
}
else if(window.ActiveXObject){
//code for IE5 and IE6
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//判断是否支持请求
if(xmlHttp == null){
throw new Error("浏览器不支持xmlHttp");
}
xmlHttp.open("POST", "http://127.0.0.1:8899/oauth/token", false);
//---------- 请求头信息 ------------------
//xmlHttp.setRequestHeader("Authorization", "1");
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
console.log(JSON.stringify(obj))
//入参报文
xmlHttp.send("表单串");
//请求完成并且成功返回
if(xmlHttp.readyState==4 && xmlHttp.status==200){
var sendResult = xmlHttp.responseText;
alert(sendResult)
//返回给格式化后JSON
return JSON.parse(alert(sendResult));
}else{
console.log(xmlHttp.status)
console.log(xmlHttp.statusText)
var resultMsg = xmlHttp.statusText?xmlHttp.status+"-"+xmlHttp.statusText: xmlHttp.responseText;
throw new Error("调用失败:" + resultMsg);
}
1、请求头的设置,如果是发送表单数据需要设置请求头这样
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
2、如果发送表单数据,js可以使用下边的方式构建
s = name=value&name1=value&...
发送直接发送构造的串
xmlHttp.send(s);