Phil Sturgeon 的 Codeigniter Restserver 和 Backbone.js 中的 HTTP OPTIONS 错误

2024-02-14

My backbone.js当我尝试将模型保存到位于另一个主机/URL 上的 Restful Web 服务时,应用程序抛出 HTTP OPTIONS not found 错误。

根据我的研究,我从中收集到post https://stackoverflow.com/questions/13727696/backbonejs-cors-and-save-method that :

请求会不断发送 OPTIONS http 请求标头,并且根本不会触发 POST 请求。

显然,带有“对用户数据造成副作用”的请求的 CORS 将使您的浏览器在实际发送您想要的 HTTP 请求方法之前,使用 OPTIONS 请求标头“预检”请求以检查是否批准。

我试图通过以下方式解决这个问题:

  • 将 Backbone 中的 emulateHTTP 设置为 true。

Backbone.emulateHTTP = true;

  • 我还允许标头中的所有 CORS 和 CSRF 选项。

    header('访问控制允许来源:*');
    标头(“访问控制允许标头:来源、X-Requested-With、内容类型、接受”); header("访问控制允许方法:GET、POST、OPTIONS");

应用程序崩溃时Backbone.emulateHTTP引入了一行代码。

有没有一种方法可以响应 CodeIgniter RESTServer 中的 OPTIONS 请求,并且是否有其他替代方法可以允许从通话位置禁用此请求?


I found 这个在 Github 上 https://github.com/clockworkgeek/codeigniter-restserver-extra-verbs作为一种解决方案。我不确定是否应该使用它,因为它看起来有点过时了。


我遇到了完全相同的问题。为了解决这个问题,我在核心中有一个 MY_REST_Controller.php,并且我所有的 REST API 控制器都使用它作为基类。我只是添加了一个这样的构造函数来处理 OPTIONS 请求。

function __construct() {

    header('Access-Control-Allow-Origin: *');
    header("Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method");
    header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");
    $method = $_SERVER['REQUEST_METHOD'];
    if($method == "OPTIONS") {
        die();
    }
    parent::__construct();
}

这只是检查请求类型是否为 OPTIONS,如果是,则会消失,并为请求返回代码 200。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Phil Sturgeon 的 Codeigniter Restserver 和 Backbone.js 中的 HTTP OPTIONS 错误 的相关文章

  • 在 Codeigniter 中加载 javascript

    对于我们的 Code Igniter 应用程序 我们在结束 body 标记之前加载所有 javascript 所以在我们的控制器中我们有 this gt load gt view head this gt head this gt load
  • CodeIgniter:将参数从视图传递到控制器?

    编辑 现在使用下面的代码 我不确定如何正确打印书签和标签 我对 CI 完全陌生 最近遇到了障碍 我非常不确定如何将函数参数从视图文件传递到控制器 以便我可以在函数上使用它 我在视图上有一个 foreach 循环 遍历函数 get lates
  • 如何正确转义 mysql“搜索/喜欢”查询?

    Summary 我目前正在使用 search field LIKE this gt db gt escape like str search string 逃避动态创建的搜索查询 创建的 SQL 语句结果不会产生任何错误 也不会产生任何结果
  • 在选择选项标签中循环 Ajax 响应

    我必须选择多个测试和日期 当根据测试单击提交时 实验室名称将加载到选择选项中 阿贾克斯脚本 name submits click function e e preventDefault var array select selected e
  • 用于货币转换的php脚本

    我正在寻找一个可以进行货币转换的 php 脚本 在哪里可以找到与 codeigniter 配合使用的工具 取自http www ecb europa eu stats exchange eurofxref html index en htm
  • 对过期会话进行休息调用:HTTP 401 响应导致浏览器显示登录窗口

    我编写了一个 HTML 5 应用程序 它使用 AngularJS 并与在 Tomcat 上运行的 Java REST 后端进行交互 我使用 Spring Security 来处理登录和安全性 当用户进入网站时 他将被转发到登录页面 该页面创
  • 如何设计 REST API 以允许返回带有元数据的文件

    假设我正在设计一个 REST API 并且我需要客户端能够获取带有元数据的文件 设计资源 操作的好方法是什么 我想到了一些想法 单个资源 即 GET files fileId 返回包含文件和带有元数据的 JSON XML 结构的多部分响应
  • backbone.js + require.js + 用户认证

    开始学习backbone js和require js 不确定如何通过用户身份验证构建 Web 应用程序的文件 看起来应该是这样的 On app init query server to check auth session state Q
  • 发送 Microsoft Graph 请求事件返回 400

    我能够通过将 JSON 请求发布到https graph microsoft com v1 0 me calendar events https graph microsoft com v1 0 me calendar events 我已经
  • 如何在WCF Rest服务中从流上传图像

    我正在尝试创建 wcf 服务 该服务将上传 pdf doc xls 图像等文件 但 pdf txt 文件正在上传并正确打开 但是当我尝试上传图像文件时 文件正在上传 但是图像不可见 OperationContract WebInvoke M
  • Web API 和 ASP MVC 之间的主要区别是什么

    标题确实总结了我的问题 我已经使用了这两种技术 但我不确定其中一种技术与另一种技术有何显着不同 在本质上 在设计一个宁静的 Web 应用程序时 选择 ASP MVC 或 Web API 时应考虑哪些标准和 或指南 Purpose ASP N
  • 使用 https 的 Java Jersey RESTful Web 服务

    我是 Java EE 的新手 正在开发一个 RESTful API 其中每个 API 调用用户都会发送编码的凭据 我的问题是如何通过默认的 http 实现 https 协议并确保我的连接安全 我正在使用 Jersey Restful Web
  • Mandrill 通过 REST API 作为单独的消息发送给多人

    我正在尝试使用山魈发送邮件 问题是 当我将多个收件人添加到 收件人 参数时 它会多次向 收件人 列表中的所有收件人发送同一封邮件 我期望将相同的邮件单独发送给列表中的每个人 我错过了什么吗 key app key template name
  • I/O 问题没有找到类 org.json.JSONObject 的序列化器,也没有发现创建 BeanSerializer 的属性

    不确定发生了什么 完整的错误是 Problem with i o No serializer found for class org json JSONObject and no properties discovered to creat
  • XML-RPC 与 REST

    我打算在这里构建一个小型服务器 并想为其创建一个 API 我正在决定什么是更好的并且已经排除了SOAP因为在我看来那件事是一团糟 我只剩下REST and XML RPC 我真的很喜欢XML RPC 它实现起来非常简单 并且足够常规 所有客
  • NodeJS 路由器负载太大

    我在 Nodejs 应用程序中创建休息端点 如下所示 在我的 server js 中 我有以下代码 var express require express var app express app use express json limit
  • MarionetteJS:应用程序区域与布局[重复]

    这个问题在这里已经有答案了 我正在阅读最新版本 2 3 0 的文档 它说应用程序区域现已被弃用 应用领域 警告 已弃用 此功能已弃用 而不是使用 应用程序作为视图树的根 您应该使用布局 看法 要将布局视图的范围限制为整个文档 您可以设置 它
  • PHP:从 POP3 或 IMAP 下载传入电子邮件,解析它,并将其标记为服务器上的已读/删除

    我正在尝试将传入电子邮件添加到我的网络应用程序中 它是基于 CodeIgniter 和 PHP 构建的 据我所知 我还没有找到任何 CI 库来执行此操作 我想要做的是有一个控制器通过 POP3 或 IMAP 连接到我的邮箱 并检索消息 解析
  • Yammer API 限制

    Yammer Rest api 文档表示 每个应用程序每个用户在 10 秒内最多可以发出 10 个请求 问题 什么是user这里 是为当前经过身份验证的 yammer 用户发出请求的 IP 地址还是承载令牌 如果我们所有的用户都使用相同的外
  • 在 WCF Web 编程模型中,如何编写具有一组查询字符串参数(即具有相同名称)的操作协定?

    使用 WCF Web 编程模型 可以指定一个操作契约 如下所示 OperationContract WebGet ResponseFormat WebMessageFormat Xml UriTemplate SomeRequest qs1

随机推荐

  • 通过Ajax将画布图像数据(Uint8ClampedArray)发送到Flask Server

    我想通过 AJAX 将 HTML5 上的图像数据发送到 Flask 服务器后端 我从使用中提取相关图像数据context getImageData a b c d 并且理想情况下希望能够在我的 Flask 后端以 numpy 数组的形式访问
  • 如何使 cocos2d 精灵每秒缩放(以获得脉动效果)?

    我想让精灵每秒缩放一次 使其看起来像是鼓起来并脉动 我怎样才能做到这一点 由于之前的帖子包含语法错误 更准确地说 我发布了工作代码 CCSprite sprite create the sprite id scaleUpAction CCE
  • Xcode 4、dylib 和 install_name_tool

    我正在尝试让 dylib 在我的 OSX 项目中工作 我一直在阅读一些示例 特别是这个 Xcode 4 添加 dylib https stackoverflow com questions 6801709 xcode 4 adding dy
  • Python 模块中的类内相关性?

    我正在寻找计算组内相关性 ICC https en wikipedia org wiki Intraclass correlation在Python中 我还没有找到具有此功能的现有模块 有替代名称吗 还是我应该自己起一个 我知道有人问了这个
  • 使用SIMD解包8位到16位:AVX2版本混淆了顺序

    我正在尝试使用 SSE2 来解压带零的文本 并将其扩展到 AVX2 这就是我的意思 假设您有这样的文本 abcd 我正在尝试使用SSE2来解压abcd into a 0b 0c 0d The 0是零 这当然适用于 16 个字符而不是 4 个
  • 将 .npy(numpy 文件)输入到张量流数据管道中

    Tensorflow 似乎缺少 npy 文件的阅读器 如何将数据文件读入新的tensorflow data Dataset pipline 我的数据不适合内存 每个对象都保存在单独的 npy 文件中 每个文件包含 2 个不同的 ndarra
  • cmake 将中间文件放置到某个目录

    我对 cmake 还很陌生 想知道如何使用 cmake 来做到这一点 我想将所有中间文件 如 o 文件 放置在某个目录 例如 build 中 然后一旦构建完成 我想复制我需要的某些文件 例如 exe dll 就像最终产品一样 从构建目录到
  • OpenGL GLSL 统一分支与多个着色器

    我读过很多关于统一 if 语句的文章 这些语句处理分支以改变大型着色器 超级着色器 的行为 我开始使用 uber 着色器 opengl lwjgl 但后来我意识到 与没有统一 if 语句的单独着色器相比 在片段着色器中添加由统一的 if 语
  • Google Talk 是如何工作的?

    如何谷歌谈话 http en wikipedia org wiki Google Talk工作 当我与朋友通话时 什么充当中间的一个来转移我的声音 它背后是谷歌服务器 充当中间人吗 或者它提供点对点协议吗 他们使用 XMPP jabber
  • 如何清除MKMapView缓存?

    我正在尝试加载地图区域 并且在第二次或后续加载时不会调用 MKMapView 委托方法 没有委托方法 即 void mapViewWillStartLoadingMap MKMapView mapView void mapViewDidFi
  • 使用 tSNE 可视化距离矩阵 - Python

    我已经计算了一个距离矩阵 并且正在尝试两种方法来可视化它 这是我的距离矩阵 delta 0 0 71370845 0 80903791 0 82955157 0 56964983 0 0 0 71370845 0 0 99583115 1
  • jQuery datepicker - 初始化后更改 .ui-datepicker-calendar 的显示

    在初始化日期选择器后 如何更改 ui datepicker calendar 类的 css 显示属性 我有一个带有可选复选框的 html 表单 我想从中切换该表的显示 我尝试过以下方法 HTML 示例 div class row div c
  • 如何在 React 中使用注释

    我如何使用里面的评论renderReact 组件中的方法 我有以下组件 use strict var React require react Button require button UnorderedList require unord
  • 如何将 C++ 字符串中的单词大写?

    我有一个 std string 并希望第一个字母大写 其余字母小写 我可以做到这一点的一种方法是 const std string example eXamPLe std string capitalized boost to lower
  • Android:如何在“活动”之间切换,例如在“家庭”应用程序中切换桌面?

    我正在开发一个 Android 应用程序 它具有三个非常相似的活动 我希望用户能够通过在屏幕上左右滑动来在它们之间进行切换 到目前为止我是这样处理的 我跟着这个post http android journey blogspot com 2
  • 如何重塑具有多个“无”维度的张量?

    我遇到了重塑中间 4D 张量流张量的问题X到 3D 张量Y where X是有形状的 batch size nb rows nb cols nb filters Y是有形状的 batch size nb rows nb cols nb fi
  • 远程共享文件夹和驱动器 C#

    我想通过 C 中的计算机通过网络访问远程计算机上的驱动器 文件夹 子文件夹 文件 我知道有一个使用 WMI 的方法 但是 由于安全权限的原因 WMI 可能无法在远程计算机上执行 C 中有哪些替代方法可以通过网络枚举远程计算机的文件夹 子文件
  • PostgreSQL-错误:编码“UTF8”的字节序列无效:0xeb 0x6e 0x74

    我正在研究 PostgreSQL 并在从批处理脚本 命令行 执行插入语句期间遇到以下错误 错误 编码 UTF8 的字节序列无效 0xeb 0x6e 0x74 我已经检查了 client encodingshow client encodin
  • 如何从内核空间内缩小 Linux 页面缓存?

    我正在开发一个系统 其中涉及一些自定义硬件和我为该硬件编写的自定义 Linux 设备驱动程序 系统有时需要非常快速地移动大量数据 因此我的驱动程序会动态 即在需要时 分配大型 1 GB DMA 缓冲区 这些缓冲区会被使用 然后在不再需要时释
  • Phil Sturgeon 的 Codeigniter Restserver 和 Backbone.js 中的 HTTP OPTIONS 错误

    My backbone js当我尝试将模型保存到位于另一个主机 URL 上的 Restful Web 服务时 应用程序抛出 HTTP OPTIONS not found 错误 根据我的研究 我从中收集到post https stackove