AngularJS $http.POST 方法 405 错误

2024-04-10

在 $http.post 方法中我遇到 405 问题。我们对 POST 和 GET 方法使用单一服务(REST)。

如果 url 具有 localhost,则它正在工作。 urlAddScenario 是 localhost/Service.svc/api/scenarios/add。如果我使用机器名称而不是 locahost,它就不起作用。机器名/Service.svc/api/scenarios/add

我的JS代码是

 scenarioExecutionFactory.addScenario = function (scenarioId) {
        return $http.post(urlAddScenario, scenarioId)               
    };

另一种JS:

 var runScenarioId = { "ScenarioId": 10 }
                   scenarioExecutionFactory.addScenario(runScenarioId )
                         .success(function (data) {
                             $scope.getScenarioRecentRuns($scope.CurrentScenario);
                         });

WCF服务:

  [OperationContract]
        [WebInvoke(UriTemplate = "api/scenarios/add",
            RequestFormat = WebMessageFormat.Json,
            ResponseFormat = WebMessageFormat.Json,
            Method = "POST")]
        Request AddScenario(ScenarioRequestParams requestParams);

config:

   <system.webServer>
<httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Credentials" value="true" />
    <add name="Access-Control-Allow-Methods" value="GET,POST,PUT,OPTIONS" />
    <add name="Access-Control-Allow-Headers" value="Origin,Content-Type,Accept,Authorization,X-Ellucian-Media-Type" />
  </customHeaders>

</httpProtocol>

我在标题中看到的是 OPTIONS 而不是 POST。

Headers:

**OPTIONS** http://ddd/HelloService/HelloService.svc/PostData HTTP/1.1
Accept: */*
Origin: http://localhost:31284
Access-Control-Request-Method: POST
Access-Control-Request-Headers: accept, content-type
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko
Host: vijayakatta
Content-Length: 0
DNT: 1
Connection: Keep-Alive
Pragma: no-cache

Error:

IE:SCRIPT7002:XMLHttpRequest:网络错误0x80070005,访问被拒绝。

Chrome:XMLHttpRequest 无法加载 htp//machinename/services.svc/api/scenarios/add。无效的 HTTP 状态代码 405

响应标头:HTTP/1.1 405 不允许方法


为了启用CORS via web.config正确地,您需要指定这 3 个自定义标头

<httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Headers" value="Content-Type" />
    <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
  </customHeaders>
</httpProtocol>

如果您打算支持PUT and DELETE你还需要处理动词飞行前查看。 您可以阅读更多有关CORS and 飞行前检查在这个答案中:https://stackoverflow.com/a/27374066/4304188 https://stackoverflow.com/a/27374066/4304188

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

AngularJS $http.POST 方法 405 错误 的相关文章

  • 在 ASP.NET 中生成新的 SessionId

    登录时我想生成一个新的 SessionId 我已经发现一种有效的解决方案 https stackoverflow com questions 1368403 generating a new asp net session in the c
  • 角度指令忽略非数字输入

    我必须为 IE8 编写一些代码 我有一个 ng repeat 创建一个表 其中包含
  • 文本框验证(无空格)

    我有一个网页 其中有一个文本框 我的要求是我不想在文本框中留出空间 如果用户在文本框中留出空间 它会指示文本框中没有空格 如果您打算捕获空格不是有效字符的值 您可以使用正则表达式验证器 http msdn microsoft com en
  • 在 Protractor / Webdriver 中等待页面重定向

    我有一个测试 单击按钮并重定向到用户仪表板 当发生这种情况时 Webdriver 返回 javascript error document unloaded while waiting for result 为了解决这个问题 我插入brow
  • 将结果绑定到不同项目中的 Web API

    我正在尝试创建一个 SPA 应用程序 以利用upshot及其能力 但是 公开数据的服务 即 Web API 位于一个完全独立的项目中 已托管在 IIS 上 我想将结果绑定到现有的 API 但从我在结果 v1 0 0 1 的 HTML 帮助程
  • ModelBinding asp.net MVC 列表

    我有以下课程 public class Movie string Name get set string Director get set IList
  • Asp.net WEB API - 如果我使用 POST 而不是 PUT 和 DELETE 会出现什么问题?

    我刚刚开始使用 Web API 虽然我发现创建我需要的方法和一些配置非常容易 但现在我遇到了一个我不知道如何解决的问题 一些将使用我的服务的应用程序非常旧 不支持 DELETE 和 PUT 方法 例如 j2me 应用程序 我发现可以通过传递
  • 如何使用 ui-router 中的 ui-sref 将参数传递给控制器

    我需要传递和接收两个参数到我想要转换到的状态ui srefui router 的 例如使用下面的链接将状态转换为home with foo and bar参数 a Go to home state with foo and bar para
  • 如何在联系我们页面中使用用户电子邮件发送电子邮件?

    我正在创建一个联系我们页面 并且我想从该页面接收邮件 因为它的邮件来自用户邮件 我写了这段代码 var client new SmtpClient smtp gmail com 587 Credentials new NetworkCred
  • 将数据集导出到 EXCEL

    我使用以下代码将数据库表中的字段导出到 Excel 中 我想要做的是能够编写一条 SQL 语句从多个表中检索字段并将其导出到 Excel 中 这段代码只允许我导出一张表 另外 如何显示保存提示对话框 示例代码将不胜感激 非常感谢 prote
  • 发生错误。", ExceptionMessage: "提供的 'HttpContent' 实例无效

    尝试将文件添加到 http 休息调用时出现此错误 responseJson 消息 发生错误 ExceptionMessage 提供了无效的 HttpContent 实例 它确实 正在使用 多部分 参数名称 内容 异常类型 System Ar
  • Angular JS,量角器定位器,获取元素的直接子元素

    我有一个网格 我想从中选择所有行 但不选择行内的任何元素 这些行只是 div 没有类等 类似这样 为简洁起见 删除了内部内容 div class grid div div div div div div div div div div di
  • 在没有 IIS 的计算机中打开设置为 IIS 目录的 Web 项目,指向嵌入式服务器

    我可以在TFS中打开一个Web项目 但是 在我的 QA 环境中 我必须将其更改为使用 IIS 在我的本地开发环境中 我没有IIS 无法安装它 新的公司规则拒绝我进行 QA 访问 并且我无法打开我的 Web 项目来在我的计算机中修复它 当我打
  • C# 代码上的 ImageURL 不显示图像

    我在 aspx 页面上有图像
  • 回发后,asp.net 文本框不会填充

    我使用 ASP NET 和 C 几个文本框来计算输入的结果 Textbox2 输入了一个值 单击按钮后 Textbox1 就会被填充 我第一次输入该值时效果很好 但是第二次更改 Textbox2 中的值时 我发现在单击按钮进行调试时该值被分
  • ASP.NET - Google Chrome 缓存 DropDownList 选择

    我的购物车页面上的 Google Chrome 和 Safari 似乎遇到了缓存问题 购物车中有 2 个下拉列表 当您在更改下拉列表中的值后点击结帐按钮时 它会将列表中选择的内容提交到数据库 解释意外的行为有点困难 所以我会尝试一步一步地写
  • 重复的“Access-Control-Allow-Origin: *”标头会破坏 CORS 吗?

    所以我们有一个提供 JSON 服务的 http 资源 它添加了一个 Access Control Allow Origin 旗帜 所以这可以用 CORS 加载 except 所以我被告知 有一些 IE9 怪癖 这意味着这在 IE9 中仍然不
  • ASP.NET Core 与现有的 IoC 容器和环境?

    我想运行ASP NET 核心网络堆栈以及MVC在已托管现有应用程序的 Windows 服务环境中 以便为其提供前端 该应用程序使用 Autofac 来处理 DI 问题 这很好 因为它已经有一个扩展Microsoft Extensions D
  • Angularjs - 将 True/False 显示为 Yes/No

    有没有一种简单的方法可以将真 假值显示为是 否 我正在从数据库检索包含以下内容的 JSON 对象 对象 WithCertification true 这是 HTML 有认证 elem WithCertification 正在显示这个 认证真
  • ASP.NET 中 HTTP 缓存相关标头的有效含义

    我正在 ASP NET 2 0 中开发一个 Web 应用程序 其中涉及通过资源处理程序 ashx 提供图像 我刚刚实现了处理缓存标头和条件 GET 请求 这样我就不必为每个请求提供所有图像 但我不确定我是否完全理解浏览器缓存发生了什么 图像

随机推荐

  • 片段未显示

    我遇到一个问题 我可以创建一个片段 它的视图似乎已创建 但没有显示 片段本身已创建 内部的任何代码都可以正常运行 但它只是在某处不可见 后退按钮也可以很好地与它交互 它 关闭 它 它只是没有实际显示在屏幕上 仅显示主布局 来自我的 Frag
  • 禁用 iPhone 4S / 新 iPad 键盘上的听写按钮

    我们的应用程序是一个医疗保健应用程序 我们的应用程序中有一个符合 HIPAA 标准的语音识别器 所有听写都可以通过它进行 医院不希望医生意外开始与不符合 HIPAA 标准的 Nuance Dragon 服务器进行对话 因此 我正在寻找可以抑
  • 我可以在 NHibernate 中使用表值函数作为查询源吗?

    正如您可能已经猜到的 亲爱的社区 我有一个问题要问您 所以 我希望 NHibernate 根据表值 sql 函数的评估来过滤查询结果 NHibernate 生成的可能的 SQL 查询可能类似于以下内容 SELECT whatever FRO
  • Android Studio 中出现错误:INSTALL_FAILED_OLDER_SDK

    我刚刚安装了 Android Studio 并正在从 Eclipse 移植我的项目 当我尝试仅在我的手机 4 4 2 API 19 上运行该应用程序时 出现错误Failure INSTALL FAILED OLDER SDK 我的 buil
  • UIScrollView 内视图中的 UIgestureRecognizer

    有没有人设法让 UIGestureRecognizer 在作为 UIScrollView 子视图的 UIView 上工作 我的回调似乎从未被调用 作为一个简单的示例 我想要一个分页滚动视图 并在第三页上使用 UITapGestureReco
  • Flexbox:带有粘性页脚的可滚动内容

    我想制作一个盒子 在本例中为弹性项目 它始终位于容器的中间 在该框中 有页眉 页脚和内容部分 如果内容的高度变得太大 我希望内容部分可以滚动 页眉和页脚应始终可见 并且框应始终保留在其容器中 这是我能够写的内容 HTML div class
  • 如何跟踪 SSIS 数据流任务中成功处理或失败的行的状态?

    我有一个非常简单的数据流任务从 FF 读取数据并将数据插入表中 同时我想在审计表中写入 插入了多少行 创建日期 我怎样才能轻松做到这一点 如果您只对成功处理的行数或遇到错误的行数感兴趣 那么您可以使用内置的SSIS logging特征 请检
  • 使用 Omni Thread Library 在 Delphi 中异步获取函数结果

    我试图从另一个单元 类调用一个函数 这需要一些时间来执行任务并返回一个字符串值 我找不到类似于 C async await 的好的参考 比如 Delphi 中的简单方法 使用 Omni Thread 库对我来说似乎是个好主意 一个简单的例子
  • 在子目录(而不是根目录)中运行 Wordpress

    我有一个wordpress网站 当前运行在我网站的子目录中 基本上我的结构如下 根 wp 我想将 wordpress wp 文件夹保留在同一位置 但让它直接从根 url 加载 wordpress 网站 例如 当前当我访问 www mysit
  • 用于分析 Node.js 核心转储的工具 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 如果我使用 gcore 制作 Node js 进程的代码转储 分析它的最佳工具是什么 灵感来自 jav
  • 为什么 TypeScript 不简化类型与其超类型之一的交集?

    有没有办法让 TypeScript 的检查器简化交集类型中不必要的元素 或者我错认为它们是不必要的 IIUC 类型SubType SuperType相当于SubType 但 typescript 似乎没有执行这种简化 如下所示 我定义了一个
  • 删除重复的SQL记录

    删除表中重复名称的记录的最简单方法是什么 我遇到的答案非常令人困惑 Related 从表中删除重复记录 https stackoverflow com questions 529098 removing duplicate rows fro
  • 使用 Maven 程序集插件创建 EAR [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我尝试使用
  • R Shiny - 如何使用第 2 列中的嵌套行生成此布局

    我想在 Fluid9 下有两行 但这不起作用 第一行应该有 3 个图 而第二行应该只有 1 个图 跨越第一行 3 个图的宽度 9 我缺少什么 我正在尝试得到类似的东西this http shinyprognostics de pemDemo
  • startActivityForResult() 已弃用用于 google 登录

    我想让谷歌登录我的应用程序 但我收到此错误 startActivityForResult deprecated in java 这是我的代码 val signInIntent googleSignInClient signInIntent
  • R 函数胶水与粘贴

    我最近发现了胶水包 经过一番研究后我不明白为什么glue glue应该优先于paste 根据这个网站 https cran r project org web packages glue vignettes speed html 胶水速度慢
  • Angular 2 相当于 ng-bind-html、$sce.trustAsHTML() 和 $compile?

    在 Angular 1 x 中 我们可以使用 HTML 标签实时插入 HTMLng bind html 结合JavaScript调用 sce trustAsHTML 这让我们完成了 80 的工作 但在使用 Angular 标签时不起作用 例
  • Xcode 中的构建和存档有什么区别

    我想构建一个框架 当我使用命令行构建和归档来编译项目时 结果是它们的大小不同 构建 比存档大得多 why 我使用的命令 xcodebuild target xx configuration Release clean build UFW A
  • 如何在 Perl 6 中追加到文件?

    我正在尝试这个和其他一些事情 但它每次都会截断文件 my file primes txt sub MAIN Int D low Int D high where gt low unless my fh open file w append
  • AngularJS $http.POST 方法 405 错误

    在 http post 方法中我遇到 405 问题 我们对 POST 和 GET 方法使用单一服务 REST 如果 url 具有 localhost 则它正在工作 urlAddScenario 是 localhost Service svc