如何解决如何处理预检请求?
我正在尝试向支持 cors 策略的不同源服务器发送 post 请求。
问题是 content-type:application/json
.CORS 飞行前请求(OPTIONS 调用)不能是这个 Content-Type。
我还有另一种选择与我的标题一起发送:Access-Control-Request-Headers: content-type,deviceid,devicepassword,deviceversion
有没有办法获取数据?
我正在使用 react.js 和 asp.net core 编写的后端服务
解决方法
希望这能解决问题。
import {
TurnContext,TeamsActivityHandler,CardFactory,MessagingExtensionAction,TeamsInfo,} from 'botbuilder';
export default class TeamsMessagingExtensionsActionBot extends TeamsActivityHandler {
constructor() {
super();
}
// @ts-ignore
handleTeamsMessagingExtensionSubmitAction(
context: TurnContext,action: MessagingExtensionAction,) {
switch (action.commandId) {
case 'someCommand':
return handleCommand(context,action);
default:
throw new Error('NotImplemented');
}
}
}
async function handleCommand(
context: TurnContext,) {
const card = CardFactory.heroCard(
'Some Command','We have received your command!',);
const user = await TeamsInfo.getMember(context,context.activity.from.id);
console.log('User:',user);
const attachment = {
contentType: card.contentType,content: card.content,preview: card,};
return {
composeExtension: {
type: 'result',attachmentLayout: 'list',attachments: [attachment],},};
}
,
如果传入自定义header,则需要添加指定的请求header。
services.AddCors(option=>
{
option.AddPolicy("policyname",builder =>
builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod();
});
删除 credentials: 'include'
。
另一种方法:不要删除credentials: 'include'
。在烘焙中添加 AllowCredentials
。
services.AddCors(option=>
{
option.AddPolicy("policyname",builder =>
builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod().AllowCredentials();
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。