MSIE 返回 Ajax 请求的状态代码 1223

2024-01-03

我正在使用 ajax 请求(POST 方法)提交表单,并检查响应上的 HTTP 状态代码以查看它是否成功。

它在 Firefox 上运行良好,但在 MSIE-8 上当然不行。提交实际上工作正常,我可以检查我的服务器并确认提交有效并且服务器以状态代码 204 进行响应。同样,firefox 正确地从请求对象中为我提供了状态代码 204,但 IE 给出了状态代码1223.

有什么想法可以在 MSIE 中获取准确的状态代码吗?提交表单并检查响应的代码如下。

    var req = new XMLHttpRequest();
    req.open("POST", "p.php?i=" + self.__isid, true);
    //Send the proper header information along with the request
    req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    req.setRequestHeader("Content-length", formdata.length);
    req.setRequestHeader("Connection", "close");

    req.onreadystatechange = function()
    {
        if(req.readyState == 4)
        {
            if(req.status == 204 || req.status == 200)
            {
                //Success. Update the feed.
                self.__postFeed.update();
                self.__form.reset();
            }
            else
            {
                //TODO: Better error handling.
                alert("Error submitting post:\n" + req.responseText);
            }
        }
    }
    req.send(formdata);

MSXML HTTP 中的 XMLHTTPRequest 实现(位于 至少在 Windows XP SP3+ 上的 IE 8.0 中)不处理 HTTP 响应 状态代码 204(无内容)正确; ‘status’属性有 值 1223。

这是一个已知的错误,大多数基于 javascript 的框架都会处理这种情况,并将 IE 中的 1223 标准化为 204

所以你的问题的解决方案是这样的

// Normalize IE's response to HTTP 204 when Win error 1223.
status : (conn.status == 1223) ? 204 : conn.status,
// Normalize IE's statusText to "No Content" instead of "Unknown".
statusText : (conn.status == 1223) ? "No Content" : conn.statusText

参考:

dojo - http://trac.dojotoolkit.org/ticket/2418 http://trac.dojotoolkit.org/ticket/2418

原型 -https://prototype.lighthouseapp.com/projects/8886/tickets/129-ie-mangles-http-response-status-code-204-to-1223 https://prototype.lighthouseapp.com/projects/8886/tickets/129-ie-mangles-http-response-status-code-204-to-1223

YUI - http://developer.yahoo.com/yui/docs/connection.js.html http://developer.yahoo.com/yui/docs/connection.js.html(处理事务响应)

jQuery -http://bugs.jquery.com/ticket/1450 http://bugs.jquery.com/ticket/1450

ExtJS - http://www.sencha.com/forum/showthread.php?85908-FIXED-732-Ext-doesn-t-normalize-IE-s-crazy-HTTP-status-code-1223 http://www.sencha.com/forum/showthread.php?85908-FIXED-732-Ext-doesn-t-normalize-IE-s-crazy-HTTP-status-code-1223

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

MSIE 返回 Ajax 请求的状态代码 1223 的相关文章

  • 提供文件数据时触发“drop”事件

    Question 我如何在提供文件时触发drop场的事件 其中我在加载时无权访问 Details 有一个页面 其中有一个字段 上面附加了drop掉落时处理图像的侦听器 我希望能够通过以下方式使用这个过程pasting一个图像 我知道如何从粘
  • 如果用户禁用了 javascript,如何回退到完全不同的索引页面?

    我有一个大型 动态生成的单页网站 该网站严重依赖 javascript 我想为没有 javascript 的人提供后备 每个版本必须有不同的 php 代码 所以基本上我需要一个完全不同的索引页面 我不想将所有内容都包装在 javascrip
  • 是的验证;同一字段可以接受不同类型吗?

    我对是的很陌生 我试图验证字段可以是遵循某个正则表达式的字符串 也可以是此类字符串的数组 这是检查字符串与我的正则表达式匹配的工作示例 field yup string matches regex 现在我想要field如果它有一个这样的字符
  • iPhone Web 应用程序禁用缓存

    我使用 PHP 构建了一个 iPhone 网络应用程序 主 也是唯一 页面包括苹果移动网络应用程序支持 and 苹果触摸全屏元标记 以便在添加到主屏幕后可以全屏运行 然而 似乎每次我从主屏幕启动应用程序时 都会使用页面的缓存版本而不是刷新页
  • 切换 Ag-Grid 中的浮动过滤器?

    我试图通过开关或按钮单击来确定浮动过滤器的显示 看起来很简单 我应该能够在 true 和 false 之间切换 将该值提供给网格选项中的浮动过滤器 然后刷新标题 对吗 不幸的是 网格似乎总是落后一步 当我第一次点击时 什么也没有发生 当我将
  • Firebug 1.5 显示 200 Ajax 请求已中止

    当我使用 Firebug 1 5 时 我在某些 ajax 请求上收到 200 ABORTED 错误 你可以看到这发生在这个演示页面 http wicketstuff org wicket14 ajax autocomplete 0通过在文本
  • 如何让机器人状态显示为“手机在线”

    我看到 NotSoBot 的状态为在线在移动 https i stack imgur com IiF4k png 有没有办法可以在discord js 中做到这一点 我知道这已经很旧了 但更简单的方法是将其添加到定义客户端 机器人的位置 c
  • Google 闭包编译器使用 WebStorm

    我喜欢用谷歌闭包编译器 https developers google com closure compiler in WebStorm https www jetbrains com webstorm 我已经通过 npm 下载了它 npm
  • 按周将对象数组拆分为组

    我有一个包含这样的数据的对象数组 date 01 01 2017 00 00 00 dataField1 dataField2 date 01 02 2017 00 00 00 dataField1 dataField2 date 01 1
  • 链接index.html client.js 和 server.js

    我从 Node js 开始 我的第一个程序已经遇到了问题 下面是我正在使用的代码 索引 html
  • 为什么我的 css 在 IE9 中无法正确显示?

    几个小时前 我对我的 WordPress 主页做了一个小改动 现在 IE9 中出现了一些以前不存在的随机奇怪 CSS 问题 我曾使用 IE 的开发工具来尝试找出问题所在 但该工具与 firebug 相比实在是太糟糕了 而且问题只出现在 IE
  • up() 和 down() 与 Ext.getCmp()

    我很困惑我需要在 up down 和 Ext getCmp ID 之间使用哪一个作为 grep 对象 对我来说 定义对象的 ID 并通过 Ext getCmp ID 检索对象更容易 而且代码看起来更干净 例如 console log thi
  • 使用预先存在的数据库创建 PhoneGap iOS 应用程序

    我最近开始开发一个使用 PhoneGap 版本 2 8 0 作为药物查找器的应用程序 过去 我创建了该工具的 Web 版本 它使用 jQuery Mobile 和 PHP 来访问远程 SQL 数据库 PhoneGap 似乎是一个很有吸引力的
  • CORS:为什么我的浏览器不发送 OPTIONS 预检请求?

    从我读到的内容来看CORS https en wikipedia org wiki Cross origin resource sharing 我理解它应该按如下方式工作 客户端的脚本尝试获取资源从服务器不同的起源 浏览器拦截这个请求并首先
  • 使用 _.extend() 进行 JavaScript 继承

    有什么区别 Employee prototype Object create Person prototype and extend Employee prototype Person prototype 两者都给出相似的结果 输出 但下划
  • 删除移动设备上的 adsense

    我正在研究响应式设计 但在使用 adsense 时遇到了问题 我有一个广告应该显示在桌面设计上 但不能显示在移动设计上 因此 只有在桌面上查看网站时 才应将广告代码放置在 html 中 css 可以使用 display none 但这违反了
  • 将 html

    我有一些服务器端代码当前支持 http 字节范围请求 没有任何问题 但是 我希望能够在将转码后的块发送到客户端之前使用 ffmpeg 即时转码视频文件 位于磁盘上 但 ffmpeg 要求我在获取字节时给它一个寻道时间范围来自客户 给定客户端
  • jQuery:array[i].children() 不是函数

    以下代码的灵感来自http ignorethecode net blog 2010 04 20 footnotes http ignorethecode net blog 2010 04 20 footnotes 当您将光标移到脚注符号上时
  • 事件监听器如何/何时附加到 d3.js 中?

    我正在尝试制作一个 SVG 编辑器 长话短说 我需要将鼠标事件附加到
  • React Native:当您的应用程序关闭时是否有回调函数?

    我有一个 setInterval 即使您关闭 而不是退出 应用程序也会继续运行 我想在我的应用程序关闭或设备进入睡眠状态时调用一个函数 以便清除 setInterval AppState 是你的朋友 看看AppState 的文档 https

随机推荐

  • 如何删除数组中的数组? json 的 AJAX 数据

    我有 api 的 JSON 数据 如下所示 first 1 last 0 other 4 我的阿贾克斯代码 setInterval function getJSON ytl public api first hour trades func
  • 寻找矩阵中最短路径的算法

    我试图找到解决以下问题的算法 但我找不到 如果重要的话 你有一个矩阵 10X6 x 维度上为 10 y 维度上为 6 该算法接收 2 个点 即起始点和目标点 该数组充满了 0 和 1 它应该找到它们之间 1 的最短路径 并返回该路径中的第一
  • 直接在WebView或MapView中使用Google Maps JavaScript API?优点和缺点?

    看来在 Android 上的 Mapview 中开发地图应用程序更为传统 但我觉得另一种方式听起来也很不可抗拒 由于我以前开发过Web 所以我对通过JavaScript控制Google Map API感到更加熟悉 并且得益于Android的
  • 让 UICollectionView 看起来像 iOS 日历应用程序的最佳方法

    我正在构建一个应用程序 我确实需要显示一个列表 就像在 iOS 日历应用程序中看到的那样 我需要创建一个 collectionView 其中单元格可以扩展至足以覆盖各自的时间 如下所示 我尝试过各种事情 包括这个项目 https githu
  • 如何在iOS中后台运行NSTimer并休眠?

    我在 stackoverflow 上找到了很多关于NSTimer在后台运行 但是我没有找到任何解决方案 在我的应用程序中 我在后台播放声音 并设置计时器在到达该时间时停止音乐 所以我需要运行我的NSTimer背景 指单击主页按钮并使 iPh
  • 表格.发布 + NIL

    如果在使用表单后调用 Form Release 它将释放所有相关内存 但不会将表单变量设置为 nil if not assigned Form1 then begin Application CreateForm Tform1 Form1
  • 无法加载文件或程序集 App_Web_xxxxxxxx 或其依赖项之一

    完整的错误是 Could not load file or assembly App Web xxxxxxxx Version 0 0 0 0 Culture neutral PublicKeyToken null or one of it
  • Rails 4、Devise 和 Mandrill 电子邮件

    我正在尝试在 Rails 4 中制作一个应用程序 在过去的三年里 我一直在努力弄清楚 devise omniauth 我仍在努力让它发挥作用 当我尝试找到度过这一切的意愿时 抛开主要问题 我尝试使用 Mandrill 设置电子邮件 我找到了
  • MPI sendbuf 和recvbuf 可以是同一个东西吗?

    我将每个进程中的大量数组元素添加到一起 double rho 1024 Some operation to calculate rho for each process MPI Allreduce rho rho 1024 MPI DOUB
  • 如何删除重复字段中的任意对象? (原始缓冲区)

    我的原型中的重复字段中有一些条目 现在我想删除其中一些 我怎样才能做到这一点 有一个删除最后一个元素的函数 但我想删除任意元素 我不能只是交换它们 因为顺序很重要 我可以与 next 交换直到结束 但是没有更好的解决方案吗 对于 Proto
  • 如何在viewDidLoad中加载视图?

    我想在程序开始时加载第二个视图 我认为 viewDidLoad 方法是正确的方法 问题是它不起作用 我想在 viewDidLoad 方法中加载视图的原因是 可以在新设备 iPad 上加载另一个视图上的视图 我怎样才能做到呢 我尝试了这个 但
  • 我可以在录制时为 WireMock 指定 --proxy-all 参数来匹配任何网站吗?

    我正在构建一个代理服务来使用 WireMock 记录和播放来自网络的响应 我最近有发现这两种模式是分开的 https stackoverflow com q 40743569 472495 因此我尝试构建一小组 Docker 容器来并行运行
  • 将 PDF 文件显示到 WinForms 中

    我正在开发 C Net Windows 应用程序 在这里 我使用 Infragistics Documents Report 创建报告并导出为 pdf 和 xps 格式 在这里 我想将这 2 个文件 pdf 和 xps 导入 WinForm
  • AngularJS:过滤结果的部分并加粗

    我有一个像这样过滤的列表 ng repeat item in items filter query limitTo 10 和搜索输入 ng model search name 它有效 但我想将结果中的查询部分加粗 Example query
  • R 中的 fread 错误 - 字符串中嵌入 nul:'\0'

    我正在尝试读取 gt 4GB 的 csv 文件 但是 当我使用fread它产生的命令和错误 library data table csv1 lt fread cleaned csv sep colClasses character show
  • 将软件包安装到 Canopy

    我对编码 编程 Python 以及一般计算机都很陌生 所以我需要一些有关 Canopy 的帮助 在将任何软件包安装到 Canopy 时 我一直遇到相当大的麻烦 有些东西在内部包管理器中 但每当它不在时 这真的很令人困惑 我想我会列出一个具体
  • 使用 python selenium 单击不可见的元素

    我在浏览器上使用 python selenium 来填写某种表格 我试图在下拉列表中选择一个元素 a href class dropdown toggle select 0 a 但如果我尝试使用此脚本通过文本找到它 browser find
  • 将字典列表转换为嵌套字典

    关于这个主题有很多问题 但我还无法调整解决方案来适应我的情况 假设我有一个从平面文件中获得的字典列表 Name Jim Attribute Height Value 6 3 Name Jim Attribute Weight Value 1
  • 使用 FQL 时出现意外行为

    与没有 LIMIT 相比 向 FQL 添加 LIMIT 选项会导致返回更多结果 举个例子 SELECT post id actor id message description type FROM stream WHERE source i
  • MSIE 返回 Ajax 请求的状态代码 1223

    我正在使用 ajax 请求 POST 方法 提交表单 并检查响应上的 HTTP 状态代码以查看它是否成功 它在 Firefox 上运行良好 但在 MSIE 8 上当然不行 提交实际上工作正常 我可以检查我的服务器并确认提交有效并且服务器以状