微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何处理预检请求?

如何解决如何处理预检请求?

我正在尝试向支持 cors 策略的不同源服务器发送 post 请求。

问题是 content-type:application/json .CORS 飞行前请求(OPTIONS 调用)不能是这个 Content-Type。 我还有另一种选择与我的标题一起发送:
Access-Control-Request-Headers: content-type,deviceid,devicepassword,deviceversion

my network header

有没有办法获取数据?

我正在使用 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?