我正在开发一个反应应用程序,它使用axios与自托管的wcf服务进行通信。
我必须对axios使用withCredentials:true选项。
GET方法运行良好
axios({
withCredentials: true,
url: 'blabla/myGetMethod?val1=aaa&val2=bbb'
}).then (result => {
// DO SOMETHING
})
GET方法的WCF代码
<OperationContract, WebGet(ResponseFormat:=WebMessageFormat.Json)
Public Function myGetMethod (byval val1 as string, byval val2 as string)
//DO SOMETHING
end function
POST方法正在获取401
错误: 对预检请求的响应未通过访问控制检查:不存在“ Access-Control-Allow-Origin”标头.......
。如您所见,我的以下代码是我定义的请求的标头代码
axios({
headers: {
'Access-Control-Allow-Origin':'http://localhost:8080'
},
method: 'POST',
withCredentials: true
url: 'blabla/myPostMethod',
data: {
val1: "Hurray",
val2: "Is it worked"
}
}).then (result => {
//DO SOMETHING
})
POST方法的WCF代码
<OperationContract, WebInvoke(Method:="POST", ResponseFormat:=WebMessageFormat.Json)
Public Function myPostMethod (byval val1 as string, byval val2 as string)
//DO SOMETHING
end function
我不知道为什么get起作用而post不起作用。
我为启用CORS的WCF配置了