首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在.NET核心中的ajax调用中,我在xsr.send上得到了一个错误400

在.NET Core中的ajax调用中,错误码400表示请求无效。这个错误通常是由于请求的参数不正确或格式不符合服务器的要求导致的。要解决这个问题,可以按照以下步骤进行排查和修复:

  1. 检查请求参数:确保请求中的参数名称和值正确,并且符合服务器端的要求。可以使用浏览器的开发者工具或者网络抓包工具来查看请求的参数。
  2. 检查请求头:有时候,服务器可能要求特定的请求头信息才能正确处理请求。可以检查请求头中是否缺少必要的信息,比如Content-Type等。
  3. 检查请求方法:确保使用正确的HTTP请求方法,比如GET、POST、PUT等。不同的请求方法对应不同的操作,服务器可能会根据请求方法来处理请求。
  4. 检查请求URL:确保请求的URL正确,并且可以被服务器正确解析。可以尝试在浏览器中直接访问该URL,看是否能够正常获取到数据。
  5. 检查服务器端代码:如果以上步骤都没有问题,那么可能是服务器端代码出现了错误。可以检查服务器端代码中与该请求相关的部分,查看是否有逻辑错误或者参数解析错误。

对于.NET Core中的ajax调用,可以使用以下相关技术和工具:

  • 前端开发:可以使用HTML、CSS和JavaScript来构建用户界面,并使用jQuery、Vue.js、React等前端框架来简化开发过程。
  • 后端开发:可以使用C#语言和.NET Core框架来编写服务器端代码,处理请求并返回响应。可以使用ASP.NET Core MVC、Web API等技术来构建RESTful API。
  • 软件测试:可以使用单元测试和集成测试来确保代码的质量和功能的正确性。可以使用xUnit、NUnit等测试框架来编写和运行测试用例。
  • 数据库:可以使用关系型数据库(如SQL Server、MySQL)或者NoSQL数据库(如MongoDB、Redis)来存储和管理数据。可以使用Entity Framework Core等ORM框架来简化数据库操作。
  • 服务器运维:可以使用Docker、Kubernetes等容器化技术来部署和管理应用程序。可以使用Nginx、Apache等Web服务器来处理HTTP请求。
  • 云原生:可以使用Kubernetes、Istio等技术来构建和管理云原生应用。可以使用Docker镜像来打包应用程序,并使用Kubernetes进行部署和扩展。
  • 网络通信:可以使用HTTP、WebSocket等协议来进行网络通信。可以使用SignalR等技术实现实时通信和推送功能。
  • 网络安全:可以使用HTTPS、SSL/TLS等技术来保护网络通信的安全性。可以使用身份验证和授权机制来限制访问权限。
  • 音视频:可以使用WebRTC、FFmpeg等技术来处理音视频数据。可以使用WebSocket或者RTMP协议来实现实时音视频通信。
  • 多媒体处理:可以使用FFmpeg、ImageMagick等工具来处理多媒体文件,如音频剪辑、图片压缩等。
  • 人工智能:可以使用TensorFlow、PyTorch等框架来构建和训练机器学习模型。可以使用OpenCV等库来进行图像处理和计算机视觉任务。
  • 物联网:可以使用MQTT、CoAP等协议来进行物联网设备的通信。可以使用物联网平台来管理和监控设备。
  • 移动开发:可以使用Xamarin、React Native等框架来开发跨平台的移动应用。可以使用Android Studio、Xcode等工具来开发原生移动应用。
  • 存储:可以使用对象存储服务来存储和管理大规模的文件和数据。可以使用数据库来存储结构化数据。
  • 区块链:可以使用区块链技术来构建去中心化的应用和智能合约。可以使用以太坊、Hyperledger等平台来开发和部署区块链应用。
  • 元宇宙:元宇宙是一个虚拟的、模拟现实世界的数字空间。可以使用虚拟现实、增强现实等技术来构建和体验元宇宙。

腾讯云提供了丰富的云计算产品和服务,可以满足各种需求。具体推荐的产品和介绍链接如下:

  • 云服务器(CVM):提供弹性的云服务器实例,支持多种操作系统和应用场景。产品介绍链接
  • 云数据库MySQL版(CDB):提供稳定可靠的云数据库服务,支持高可用、备份恢复等功能。产品介绍链接
  • 云原生容器服务(TKE):提供弹性、高可用的容器化应用管理平台,支持Kubernetes。产品介绍链接
  • 人工智能平台(AI Lab):提供丰富的人工智能开发和应用服务,包括图像识别、语音识别等。产品介绍链接
  • 物联网平台(IoT Hub):提供全面的物联网设备管理和数据处理服务,支持海量设备接入。产品介绍链接
  • 移动推送服务(TPNS):提供高效可靠的移动应用消息推送服务,支持多种推送方式。产品介绍链接
  • 对象存储(COS):提供安全可靠的云存储服务,支持海量数据存储和访问。产品介绍链接

请注意,以上推荐的产品和链接仅供参考,具体选择应根据实际需求和情况进行。

相关搜索:我将我的Angular 5更新为8,在toastr上得到了一个错误我在Wordpress中遇到一个400 Bad request错误,同时使用wp_ajax进行调用当我试图隐藏一个主题时,我在我的wordpress网站上得到了这个内存错误当我运行Valgrind时,我在我的代码上得到了一个无效写入大小为8的错误在我的第一个AJAX请求中遇到了麻烦在我的一个React组件中,我在项目中遇到了语法错误我在python 3中遇到了一个关于Keyerror的错误为什么我在ASP.Net中的cropper.js文件上得到了404错误,尽管它们正是程序正在寻找它们的地方?如何查看返回res.status( 400 ).json({ errors: errors.array() })的响应中的错误;我在控制台中只看到了一个400错误的请求在我的urls.py文件中定义了一个ajax函数,但是在测试中调用它时得到了一个404在.Net中从对SOAP web方法的Ajax调用中获取500服务器错误在C++中,我得到了一个我无法理解的编译器错误我在vb.net中的查询中有一个Insert into错误为什么我在.d.ts文件中的私有getter上得到一个隐式的'any‘错误?我在我的程序中得到了一个分段错误,但不清楚是如何发生的在ubunu中安装Angular CLI错误-当我尝试在我的ubuntu机器上运行angular CLI命令时,我得到了一个错误我正在尝试在Ubuntu 16.04中安装nginx,但是我得到了一个关于区域设置的错误我在使用我的项目时遇到了一个问题,在asp.net核心中只显示json格式。这些值就是null。在这种情况下发生了什么?在Netbeans IDE中,我收到了一个Javadoc not found错误,并且我读到了类似的问题,但没有一个给定的解决方案有效当我尝试在R中执行时间受限的集群时,我得到了一个错误
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

AJAX

即根据服务器端响应头部返回MIME类型把数据转换成能通过responseBody、responseText或responseXML属性存取格式,为客户端调用作好准备。...4 - (后台处理完成)响应内容解析完成,可以客户端调用了    此阶段确认全部数据都已经解析为客户端可用格式,解析已经完成。...4**:请求包含一个错误语法或不能完成 5**:服务器执行一个完全有效请求失败 100——客户必须继续发出请求 101——客户要求服务器根据请求转换HTTP协议版本 200——交易成功 201——提示知道新文件...——请求资源必须从服务器指定地址得到 306——前一版本HTTP中使用代码,现行版本不再使用 307——申明请求资源临时性删除 400——错误请求,如语法错误 401——请求授权失败 402—...411——服务器拒绝用户定义Content-Length属性请求 412——一个或多个请求头字段在当前请求错误 413——请求资源大于服务器允许大小 414——请求资源URL长于服务器允许长度

55640

卷积神经网络概念与原理

大家好,又见面了,是你们朋友全栈君。...例如:对于一个 96X96 像素图像,假设我们已经学习得到了400个定义8X8输入上特征,每一个特征和图像卷积都会得到一个 (96 − 8 + 1) × (96 − 8 + 1) = 7921 维卷积特征...,由于有 400 个特征,所以每个样例 (example) 都会得到一个 7921 × 400 = 3,168,400卷积特征向量。...值得一提是,今年ImageNet LSVRC比赛,取得冠军GoogNet已经达到了top-5错误率6.67%。可见,深度学习提升空间还很巨大。 下图即为AlexCNN结构图。...每张输入的人脸被表示为160维向量,学习到向量经过其他模型进行分类,人脸验证试验上得到了97.45%正确率,更进一步,原作者改进了CNN,又得到了99.15%正确率。

2.5K22
  • ajax极简教程

    这意味着可以不重新加载整个网页情况下,对网页某部分进行更新。 二、实现ajax基本步骤 创建XMLHttpRequest对象,也就是创建一个异步调用对象....创建一个HTTP请求,并指定该HTTP请求方法、URL及验证信息. 设置响应HTTP请求状态变化函数. 发送HTTP请求. 获取异步调用返回数据....GET,但文件未变化 305:请求资源必须从服务器指定地址得到 306:前一版本HTTP中使用代码,现行版本不再使用 307:申明请求资源临时性删除 400错误请求,如语法错误 401:请求授权失败...Content-Length属性请求 412:一个或多个请求头字段在当前请求错误 413:请求资源大于服务器允许大小 414:请求资源URL长于服务器允许长度 415:请求资源不支持请求项目格式...500:服务器产生内部错误 501:服务器不支持请求函数 502:服务器暂时不可用,有时是为了防止发生系统过载 503:服务器过载或暂停维修 504:关口过载,服务器使用另一个关口或服务来响应用户,

    1.9K100

    ASP.NET 使用Ajax

    之前Ajax初步理解中介绍了对Ajax初步理解,本文将介绍ASP.NET如何方便使用Ajax,第一种当然是使用jQueryajax,功能强大而且操作简单方便,第二种是使用.NET封装好ScriptManager...Default.aspx页面JavaScript可以看到testGet函数就利用jQueryajax向Normal.aspx发送了了一个get请求,没写参数使用jQuery默认参数,这个调用没使用任何参数...请求失败则向DIV添加一行错误提示文本。...$.ajax POST与json 这样向一个页面发送请求然后Load事件处理程序根据参数调用不同方法,清除Response,写入Response,终止Response,而且传入参数局限性太大,好业余赶脚...项目中最常使用这个模式,这样既保持了jQuery灵活性又可以一个Service书写多个方法供调用,还不用走复杂页面生命周期 json.net和本文示例源代码 json.net一个开源.net

    2.7K20

    33·灵魂前端工程师养成-异步与promise

    (回调) # 2.QQ离线发送文件。 以上是生活例子,那么我们接下来以代码为例子。...你写给自己用函数,不是回调 # 你写给别人用函数,就是回调 # request.onreadystatechange就是写给浏览器调用 # 意思就是,你(浏览器)回头调用一下这个函数。...# 中文中「回头」也有「将来」意思,如:「回头请你吃饭」 ---- 异步和回调关系 ## 关联 # 异步任务需要在得到结果时通知JS来拿结果 # 怎么通知呢?...# 可以让JS写留一个函数地址(电话号码)给浏览器 # 异步任务完成时,浏览器调用该含税地址即可(拨打电话) # 同时把 结果作为参数传给该函数(电话说,可以来吃饭了) # 这个函数是写给浏览器调用...// 先改一下调用姿势 ajax('get','/xxx',{ success(respone){},fail:(request,status)=>{} }) // 上面代码,用到了两个回调,

    91430

    记一次压测问题定位:connection reset by peer,TCP三次握手后服务端发送RST

    大家好,又见面了,是你们朋友全栈君。 问题描述 这两天用Go做一个比较简单task:后端有HTTPServer和TCPServer。...问题:压到400个HTTPClient,出现一些错误提示“read: connection reset by peer”。...进一步来看Linux协议栈一些逻辑:SYN队列和ACCEPT队列长度是有限制,SYN队列长度由内核参数tcp_max_syn_backlog决定,ACCEPT队列长度可以调用listen(backlog...但是somaxconn这个倒是找到了: 而我压测时候起400个goruntine,同时跟服务端建立HTTP连接,可能导致了服务端ACCEPT队列溢出。...但是不想在mac电脑上搞了,于是将建立HTTP连接速度放慢,20ms一个。果然,错误消失了,400个、800个、2000个client,都OK。 总结 理论还是很重要

    1.4K10

    刨根问底---一次 OOM 试验造成电脑雪崩引发思考

    问题初现----电脑雪崩 写「垃圾回收-实战篇」时,按书中一个例子做了一次实验,觉得涉及知识点挺多,所以单独拎出来与大家共享一下,相信大家看完肯定有收获。...只好重启了电脑,然后先在终端输入 top 命令,再执行以上程序, 发现 CPU 负载达到了 800%! ?...以上对问题描述至少有三个问题值得我们去思考 以上 while (true) 为啥会造成 cpu 负载 800% 主线程发生 OOM 后终端用 Ctrl + C 试图终止 Java 进程执行...为啥 Ctrl + C 这种通用 kill 掉进程方式不起作用呢, Oracle 论坛(见文末参考链接)找到了 Oracle 工程师回答 The message "Java HotSpot(...简单地说就是 JVM 信号处理器确实收到了终端发出 Ctrl + C 终止信号,但当它调用 Java 进程想中止时发生了 OOM 导致中断失败, 那为啥调用会发生 OOM 呢,猜是因为信号处理器要启动一个线程来做这种终止通知操作

    52210

    【Java】一次 OOM 试验造成电脑雪崩引发思考

    问题初现----电脑雪崩 写「垃圾回收-实战篇」时,按书中一个例子做了一次实验,觉得涉及知识点挺多,所以单独拎出来与大家共享一下,相信大家看完肯定有收获。...只好重启了电脑,然后先在终端输入 top 命令,再执行以上程序, 发现 CPU 负载达到了 800%! ?...以上对问题描述至少有三个问题值得我们去思考 以上 while (true) 为啥会造成 cpu 负载 800% 主线程发生 OOM 后终端用 Ctrl + C 试图终止 Java 进程执行...为啥 Ctrl + C 这种通用 kill 掉进程方式不起作用呢, Oracle 论坛(见文末参考链接)找到了 Oracle 工程师回答 The message "Java HotSpot(...简单地说就是 JVM 信号处理器确实收到了终端发出 Ctrl + C 终止信号,但当它调用 Java 进程想中止时发生了 OOM 导致中断失败, 那为啥调用会发生 OOM 呢,猜是因为信号处理器要启动一个线程来做这种终止通知操作

    53330

    :第十五章 - 传统开发模式下 axios 使用入门

    接口设计,所以这里采用 ASP.NET Core 特性路由方式,指定此路由为专门数据查询接口。   ...既然我们已经获取到了后端接口返回数据值,那么这里问题就可能出现在赋值这上面。我们可以 then 回调打印 this.users 看看。 ?   ...请求一样,我们可以使用 $.ajax/$.post 方法去发起一个 get/post 请求,也可以 $.ajax 方法通过指定请求 type 类型来确定我们是以 get 请求还是 post 请求方式执行...一个通过 axios 发起请求 then 回掉方法,我们都需要对获取到响应状态码进行判断,判断接口调用是否成功。   ...例如,当调用接口不成功时,http 响应状态码为 400,同时返回错误信息,我们完全可以拦截器中进行判断,当所有的接口响应状态码为 400 时,弹出后端返回错误信息。

    1.4K30

    【Http】一文备忘Http状态码(406,415,422)

    我们就类比爱情,对客户端与服务端交互状态码进行解释。 2.Server:”你要给不了“——406 http请求,会在Accept表明客户端希望接收数据类型。...当请求包含*accept头,ASP.NET Core*框架,将会: 按*accept*头中顺序枚举媒体类型 尝试找到一个能生成*accept*中指定格式之一格式化器 找到了,就还罢了,一旦找不到格式化器...API 时,与浏览器体验一致: 忽略Accept 若为另行配置,将会使用JSON返回内容 3.Server:“你给不要”——415 说回我们问题初衷,报了415,这边ajax设置Content-Type...HTTP,Content-Type代表客户端发送实体数据数据类型,如果客户端是以*application/x-www-form-urlencoded*** ,asp.net core中用***...对于实体模型验证错误: *ASP.NET Core*默认使用400状态码-Bad Request { "errors": { }, "type": "https://tools.ietf.org

    1.4K10

    ​用python进行超全疫情大屏展示

    ,都保存到了本地 redis ,这样只需要每隔一段时间访问上面的三个接口即可,其余 web 页面的请求都从 redis 获取。...barBorderRadius: 5, } } } ] }; barchart.setOption(option); 这样我们就在 web 页面上得到了一个简单柱状图...这里已经下载好了完整前端页面,下面的工作就是整理后端数据,供前端展示即可。 首先需要一个 web 服务器,选择用 Flask 来搭建,先来看下项目的目录结构 ?...,字典值都是一个列表 接下来编写一个供 echarts 调用函数 @app.route('/get_chart_data') def get_chart_data(): chart_info...js.js 文件,使用 Ajax调用接口 $.ajax({ url: '/get_chart_data', type: 'get', dataType

    3K50

    卷积神经网络概念与原理

    例如:对于一个 96X96 像素图像,假设我们已经学习得到了400个定义8X8输入上特征,每一个特征和图像卷积都会得到一个 (96 − 8 + 1) × (96 − 8 + 1) = 7921 维卷积特征...,由于有 400 个特征,所以每个样例 (example) 都会得到一个 7921 × 400 = 3,168,400卷积特征向量。...下图错误信号矩阵Q_errA,它产生是P左上2*2小方块导致,该2*2小方块对A责任正好可以用卷积W表示,错误信号A通过卷积错误信号加权传递到与错误信号量为A神经元所相连神经元...值得一提是,今年ImageNet LSVRC比赛,取得冠军GoogNet已经达到了top-5错误率6.67%。可见,深度学习提升空间还很巨大。 下图即为AlexCNN结构图。...每张输入的人脸被表示为160维向量,学习到向量经过其他模型进行分类,人脸验证试验上得到了97.45%正确率,更进一步,原作者改进了CNN,又得到了99.15%正确率。

    1.1K20

    ajax和axios、fetch区别

    ,假冒网站是拿不到你cookie得key,这样,后台就可以轻松辨别出这个请求是否是用户假冒网站上误导输入,从而采取正确策略。...替代品,是ES6出现,使用了ES6promise对象。...fetch优点: 1.符合关注分离,没有将输入、输出和用事件来跟踪状态混杂一个对象里 2.更好更方便写法 坦白说,上面的理由对来说完全没有什么说服力,因为不管是Jquery还是Axios...脱离了XHR,是ES规范里新实现方式 最近在使用fetch时候,也遇到了不少问题: fetch是一个低层次API,你可以把它考虑成原生XHR,所以使用起来并不是那么舒服,需要进行封装。...例如: 1)fetch只对网络请求报错,对400,500都当做成功请求,服务器返回 400,500 错误码时并不会 reject,只有网络错误这些导致请求不能完成时,fetch 才会被 reject。

    1.5K51

    干货 | 卷积神经网络入门这一篇就够了

    如下图所示,展示了一个33卷积55图像上做卷积过程。每个卷积都是一种特征提取方式,就像一个筛子,将图像符合条件(激活值越大越符合条件)部分筛选出来。...如下图所示,下图有个小错误,即将w1改为w0,w2改为w1即可。下文中仍以w1和w2称呼它们。 下图展示了四个通道上卷积操作,有两个卷积,生成两个通道。...例如:对于一个 96X96 像素图像,假设我们已经学习得到了400个定义8X8输入上特征,每一个特征和图像卷积都会得到一个 (96 − 8 + 1) × (96 − 8 + 1) = 7921...值得一提是,今年ImageNet LSVRC比赛,取得冠军GoogNet已经达到了top-5错误率6.67%。可见,深度学习提升空间还很巨大。 下图即为AlexCNN结构图。...每张输入的人脸被表示为160维向量,学习到向量经过其他模型进行分类,人脸验证试验上得到了97.45%正确率,更进一步,原作者改进了CNN,又得到了99.15%正确率。

    2K100

    Uncaught SyntaxError: Unexpected token in JSON at position 1

    听说js是一样很BT语言,今天真是有点领教到了。 用python3.6+django2.0开发网站时,遇到了一个之坑!...异步数据提交Ajax运用,不免回调函数中使用到JSON.parse(data) 浏览器控制台Console报错: VM493:1 Uncaught SyntaxError: Unexpected...token ' in JSON at position 1 at JSON.parse () at Object.success ((index):400)...正当我万般无奈之时,回想起了自学老男孩全栈教学视频,武sir老师曾在课上笑称JS是一门最为BT语言,你以为会报错地方,往往不报错,你看不出哪里错了地方,它没准儿就给你报错,于是尝试着将后台原本传过来字符串...":"提交错误"}') 就不报错了。。。

    4.4K30

    一文读懂卷积神经网络(CNN)

    如下图所示,展示了一个33卷积55图像上做卷积过程。每个卷积都是一种特征提取方式,就像一个筛子,将图像符合条件(激活值越大越符合条件)部分筛选出来。...如下图所示,下图有个小错误,即将w1改为w0,w2改为w1即可。下文中仍以w1和w2称呼它们。 下图展示了四个通道上卷积操作,有两个卷积,生成两个通道。...例如:对于一个 96X96 像素图像,假设我们已经学习得到了400个定义8X8输入上特征,每一个特征和图像卷积都会得到一个 (96 − 8 + 1) × (96 − 8 + 1) = 7921 维卷积特征...值得一提是,今年ImageNet LSVRC比赛,取得冠军GoogNet已经达到了top-5错误率6.67%。可见,深度学习提升空间还很巨大。 下图即为AlexCNN结构图。...每张输入的人脸被表示为160维向量,学习到向量经过其他模型进行分类,人脸验证试验上得到了97.45%正确率,更进一步,原作者改进了CNN,又得到了99.15%正确率。

    5.4K260

    Spring Boot 统一异常处理最佳实践 -- 拓展篇

    然后来看看他默认情况下对于 AJAX 请求和 HTML 请求, 分别的返回结果是怎样: image.png 201901271611_648.png 对于返回错误页面, 其中还调用一个非常重要方法...方法, 源码就不带大家看了, 他作用就是根据 HTTP 状态码来去找错误页面, 如 500 错误会去找 /error/500.html, 403 错误回去找 /error/403.html, 如果找不到则再找...他处理 /error 请求, 我们只需要将页面重定向到 /error 即可, ControllerAdvice 是这样: @ControllerAdvice public class WebExceptionHandler..., 我们将错误信息也放到 request 域中, 然后 getErrorAttributes 从 request 域中获取: @ControllerAdvice public class WebExceptionHandler...我们遵循 SpringBoot 规则, /error/ 下建立 400.html, 500.html 等页面细粒度错误, 并配置一个 /error.html 用来处理细粒度未处理到其他错误.

    3.3K30

    【nodejs】让nodejs像后端mvc框架(asp.net mvc)一样处理请求--目录(88 完结)

    为什么要做这个 使用nodejs开发过程,总是发现需要做很多重复性体力劳动,且因为自身是服务端程序员出身,感觉有一些服务端好东西其实可以nodejs上得到应用并能提高一些开发工作效率。...框架(asp.net mvc)一样处理请求--总结(代码整理一下来...)...已完成功能 可以根据默认url路由规则自动调用请求处理函数 请求参数可以使用声明实体类+装饰器方式完成参数自动绑定 处理结果可以根据需求自动适配(nodejs服务端渲染、ajax调用返回json、...jsoncallback调用) PS: 因为看到博问 关于nodejs作为后端功能性疑问后,觉得这几百行代码还是可以分享一下。...成文比较仓促,贴出代码也是不太完整,文章逻辑也比较凌乱...。当然,最重要原因还是懒!!!,代码整理后同步到github上就一目了然啦。 相信只要有一点底子还是基本能看到。

    1.1K20

    几个常见js手写题,你能写出来几道

    this 上 $.ajax(url, this.value) // 注意这个 this 执行时被 apply 到了内部匿名函数上 this ,也就是 input})柯里化函数柯里化可以利用函数和不同参数构成功能更加专一函数...then函数返回一个Promise实现链式调用。其实面试时候主要靠死记硬背,因为有一次 20 分钟让写 5 个实现(包括promise),,,谁给你思考时间。。。...观察者模式存在耦合,主体存储是观察者实例,而 notify 方法遍历时调用了观察者 update 方法。而发布订阅模式是完全解耦,因为调度中心中直接就是逻辑处理函数。...then函数返回一个Promise实现链式调用。其实面试时候主要靠死记硬背,因为有一次 20 分钟让写 5 个实现(包括promise),,,谁给你思考时间。。。...观察者模式存在耦合,主体存储是观察者实例,而 notify 方法遍历时调用了观察者 update 方法。而发布订阅模式是完全解耦,因为调度中心中直接就是逻辑处理函数。

    94930
    领券