AJAX 响应在 C++ 中无效,但在 Apache 中无效

2023-12-09

我想制作一个用 C++ 编写的服务器来支持我的游戏。我学习了套接字的基础知识,并编写了一个运行良好的基本聊天程序。现在我想创建一个像 Apache 一样的 HTTP 服务器,但仅限于 AJAX 请求响应部分。

我想一开始我复制了一个 Apache 响应文本,并使用 C++ 服务器程序发送了准确的响应。

问题是浏览器(Firefox)连接到 apache 并且一切正常,除了所有请求都得到正确的响应。

但是,如果我使用 C++ 客户端发送此消息,则 FireBug 会告诉我响应状态正常 (200),但没有实际的响应文本。 (这怎么可能?)

该响应文本与 apache 发送的内容完全相同。我稍微对比了一下,发现是一样的。

php 文件是原始响应

<?php echo "AS";echo  rand(0,9); ?>

以及原始源代码:

  • 套接字.hhttp://pastebin.com/bW9qxtrR
  • 套接字.cpphttp://pastebin.com/S3c8RFM7
  • 主程序http://pastebin.com/ckExuXsR
  • 索引.htmlhttp://pastebin.com/mcfEEqPP
  • ajax.js http://pastebin.com/uXJe9hVC
  • 基准测试.jshttp://pastebin.com/djSYtKg9

不需要 jQuery。

main.cpp中有很多垃圾代码,例如main3和main4函数,这些不影响结果。

我知道 C++ 代码中的响应内容并不是很好,因为连接关闭不是最好的;我稍后会解决这个问题,现在我想先发送成功响应。


问题: index.html 通过 apache 在端口 80 上提供服务。浏览器加载它并开始发送请求。 请求文件(程序)在另一个端口上,在8888端口上,该端口已经是一个不同的服务器它不允许ajax(不知道为什么)获取发布数据。该程序仍然可以与remote服务器但看不到响应。

一整天后,我用 fiddler 程序进行了很多测试,捕获了响应,该方法对我很有帮助。

我使用 fiddler 程序来捕获好的答案和坏的答案。他们是一样的。之后,我关闭了套接字应用程序,并强制 fiddler 自动响应,并且“坏”答案的答案仍然有效。所以在那之后我用好的代替了坏的,什么也没有发生。好的文本的错误答案在 :8888 端口上仍然很糟糕,但原始 :80 端口上的另一个很好,但它们绝对相同,并且是同一个程序发送的(fiddler),我认为如果响应有一些缺失不在同一服务器地址上(甚至不在同一端口)。

之后我想也许缺少头文件,或者类似的东西。 所以我将apache配置为监听80端口,加载到index.html中。之后我关闭了apache服务器并将端口更改为8888,然后运行ajax请求,我意识到它们是错误的,但它们是由apache发送的,并且所有先前的请求(在同一端口上)都很好。所以问题只出在 ajax 上:D

非常感谢托尼·李Fiddler建议。

其实没有解决办法,但是问题存在的原因是有答案的。

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

AJAX 响应在 C++ 中无效,但在 Apache 中无效 的相关文章

  • 将 2D 数组映射到 1D 数组

    我想用一维数组来表示一个二维数组 函数将传递两个索引 x y 和要存储的值 这两个索引代表一维数组的单个元素 并相应地设置它 我知道一维数组需要具有 arrayWidth arrayHeight 的大小 但我不知道如何设置每个元素 例如 如
  • 如果验证失败,如何在 ASP.NET MVC 中阻止 jquery ajax 提交

    我在用ASP NET 5 MVC RC1 我的 ASP NET MVC 使用的 jquery 验证插件是默认 ASP NET 5 模板项目使用的标准 jquery validate js jQuery Validation Plugin v
  • 身份未映射异常

    System Security Principal IdentityNotMappedException 无法转换部分或全部身份引用 该错误仅在应用程序注册后出现一次 当 SecurityIdentifier 无法映射时 例如 返回 Ide
  • __FUNCTION__ 宏的 C# 版本

    有人对 C FUNCTION 宏的 C 版本有好的解决方案吗 编译器似乎不喜欢它 尝试使用这个代替 System Reflection MethodBase GetCurrentMethod Name C 没有 LINE or FUNCTI
  • 可以通过 url 发送 JSON 吗?

    我有一个 ruby 哈希 其中键是 url 值是整数 我将哈希值转换为 JSON 我想知道是否能够通过 AJAX 请求在 url 内发送 JSON 然后从 params 哈希值中提取该 JSON 另外 我将把 JSON 化的 ruby 哈希
  • 成员初始值设定项列表中的求值顺序是什么?

    我有一个带有一些参数的构造函数 我假设它们是按照列出的顺序初始化的 但在一种情况下 它们似乎是按相反的顺序初始化的 导致中止 当我反转参数时 程序停止中止 下面是我正在使用的语法的示例 a 之前需要初始化b 在这种情况下 你能保证这个初始化
  • CTRL-C 在 Python 中的行为有所不同

    I ve recently started learning Python long time Java programmer here and currently in the process of writing some simple
  • 捕获当前正在播放的声音

    是否可以捕获计算机上当前播放的声音 如果能够将其保存为 mp3 就好了 但我认为这样做会存在一些法律问题 所以 wav 也可以 我环顾四周 有人建议使用虚拟音频线之类的东西 在 C 中捕获声音输出 https stackoverflow c
  • CMake - 将预构建库链接到 C# 项目

    我正在使用 CMake 构建 C 库 该库依赖于已构建的库 dll 我似乎无法让图书馆链接到我的图书馆 我尝试过使用target link libraries mylib external lib 我也尝试过暴力破解 reference e
  • 如何在不使用reinterpret_cast的情况下使用dlsym()加载函数?

    我正在尝试使用 clang tidy 来强制执行 C 核心指南 虽然它确实有很多有效点 但有一件事我无法真正解决 dlsym 返回一个void 我需要以某种方式将其转换为正确的函数指针 为此 我使用reinterpret cast 由于指南
  • 为什么以下代码不允许我使用 fgets 获取用户输入但可以使用 scanf?

    这是一个更大程序的简短摘录 但该程序的其余部分无关紧要 因为我认为我能够隔离该问题 我怀疑这与我使用 fgets 的方式有关 我读过 最好使用 fgets 而不是 scanf 但我似乎无法让它在这里正常工作 当我使用以下代码时 程序不会给我
  • 标准 C 中的 sizeof 与 sizeof()? [复制]

    这个问题在这里已经有答案了 我看到一些直接使用 sizeof 的代码 想知道它是否是标准 C 令我惊讶的是 它运行得很好 这是一个例子 include
  • 为什么 C 函数不能返回数组类型?

    我是 C 语言新手 想知道 为什么 C 函数不能返回数组类型 我知道数组名是数组第一个值的地址 而数组是 C 中的二等公民 您自己已经回答了这个问题 数组是二等公民 C 按值返回 数组不能按值传递 因此不能返回它们 至于为什么数组不能按值传
  • 如何从枚举中选择随机值?

    给定 C 中的任意枚举 如何选择随机值 我没有找到这个非常基本的问题 我会在一分钟内发布我的答案作为任何人的参考 但请随意发布你自己的答案 Array values Enum GetValues typeof Bar Random rand
  • 为什么我不能在扩展 List 的类中调用 OrderBy?

    我有一堂课 Deck 其中包含一个名为的方法Shuffle 我正在致力于重构Deck延长List
  • 在 Javascript 中使用 fetch API 接收和处理 JSON

    在我的项目中 当条件不足时 我的 Django 应用程序会发送带有消息的 JSON 响应 我使用这个 JsonResponse 指令 Code data is taken email email return JsonResponse da
  • C# - 为什么我需要初始化 [Out] 参数

    我有几个从本机 dll 导入的方法 使用以下语法 internal static class DllClass DllImport Example dll EntryPoint ExampleFunction public static e
  • 在 unix 中编译 dhrystone 时出错

    我是使用基准测试和 makefile 的新手 我已经从下面的链接下载了 Dhrystone 基准测试 我正在尝试编译它 但我遇到了奇怪的错误 我尝试解决它 但没有成功 有人可以帮助我运行 dhrystone 基准测试吗 以下是我尝试编译的两
  • 从 C# 中的 .NET SecureString 读取单个字符?

    WPF 的PasswordBox 返回一个SecureString 它对窥探者隐藏密码 问题是你最终必须获得密码的值 而我在网上找到的建议都涉及将值复制到字符串中 这会让你回到窥探者的问题 IntPtr bstr Marshal Secur
  • 使用来自Processing-JS的JSON

    我想使用编写一个应用程序处理 JS http processingjs org 并且我希望能够使用服务器端数据加载它 我还没有编写服务器端 所以我可以使用任何东西 但似乎明显的 AJAX 事情是使用 JSON 将数据上传到页面中 如何从我的

随机推荐

  • 我如何在这里访问数组总和?

    我有一个数据集 大致如下所示 var dataset apples x 1 y 5 x 2 y 4 x 3 y 2 x 4 y 7 x 5 y 23 oranges x 1 y 10 x 2 y 12 x 3 y 19 x 4 y 23 x
  • 将类型为 Any 的 Swift Encodable 类转换为字典

    与my previous 问题 我决定子类化NSArrayController以达到预期的行为 class NSPresetArrayController NSArrayController override func addObject
  • iPhone 自动完成搜索示例

    有人可以指导我如何在 iPhone 上实现 自动完成 搜索界面吗 我假设我需要使用 NSTimer 定期检查输入的内容 然后将该部分字符串提交到我的数据源 然后显示这些内容 我需要将其与返回 JSON 的现有 Web 服务连接起来 最好有教
  • 如何从 PostgreSQL 的子表中选择数据?

    在 PostgreSQL 9 4 中 如何检索 json 对象 如下所示 parentTableFirstProp string parentToChildReference childTableFirstProp another stri
  • 将自定义 Chef 推送作业添加到 Windows 白名单

    我正在尝试将推送作业添加到推送客户端的 Windows 白名单中 当我用刀进行搜索时 它会在 Windows 节点的白名单中显示自定义作业 当我尝试运行它时 作业立即失败 并且在 Windows 端它说该命令不在白名单中 我在GitHub上
  • 在 Java 中从文件中完全读取对象流的最佳方法是什么?

    我正在创建一个可能很长的对象日志 并且不想在写入文件之前将它们全部保留在内存中 因此我无法将对象的序列化集合写入文件 我试图找出在日志记录完成后读取整个对象流的 最佳 方式 我注意到以下方法不起作用 FileInputStream fis
  • 为什么我需要重写 Java 中的 equals 和 hashCode 方法?

    最近我读到了这篇文章开发者作品文档 该文档主要是关于定义hashCode and equals 有效且正确 但是我无法弄清楚为什么我们需要重写这两种方法 我如何决定有效地实施这些方法 Joshua Bloch 在 Effective Jav
  • 矩阵乘法在 MATLAB 和 NUMPY(?) 中产生不同的值[重复]

    这个问题在这里已经有答案了 这是矩阵 gt gt x 2 7 5 9 2 8 3 1 6 10 4 7 3 10 1 6 7 10 1 8 2 8 2 5 9 Matlab给我 gt gt mtimes x x ans 124 124 94
  • 使用 Maven/Cucumber/Serenity 重新运行失败的场景

    有没有人使用 Maven Surefire 插件或任何其他机制来重新运行失败的场景 我将 Cucumber 与 Serenity 和 Maven 一起使用 我尝试了以下不同的方法 以便在没有任何手动干预的情况下重新运行失败的场景例如 如果
  • 如何使用 Java 解压目录中所有受密码保护的 zip 文件

    我是java新手 试图编写一个程序来解压缩目录中的所有受密码保护的zip文件 我能够解压缩所有普通的zip文件 没有密码 但我不确定如何解压缩受密码保护的文件 注意 所有 zip 文件具有相同的密码 import java io Outpu
  • C 函数中的冒号代表什么?

    冒号的这种用法叫什么 以下代码摘自书中学习核心音频 int main int argc const char argv cleanup AudioQueueDispose queue true AudioFileClose player p
  • 临时局部变量的命名约定

    在本地函数中命名临时变量的标准方法是什么 让我向您说明我正在做的事情 我得到一个指向结构的指针 因此我想在本地存储其成员之一以避免取消引用 然后将任何修改分配回指针 更具体地说 struct Foo double m d void func
  • 使用python从MAC获取IP地址

    我的本地网络中有一个设备并且知道它的 MAC 地址 它通过 DHCP 自动获取 IP 地址 我想获得这个IP 我不想使用 nmap 但 scapy 就可以了 因为我是从 kivy 应用程序导入的 I found from scapy all
  • Codeigniter 3 中禁止 POST url 403

    您好 专家们 您能给我一个建议吗 为什么我在当前在本地主机上运行的代码点火器上收到此 403 禁止消息 403 禁止 过程是这样的 我使用 ajax 来轻松 顺利地访问和检索从模型 控制器到视图的数据 下图是我在视图到控制器中的代码 div
  • Python:如何在其他函数中使用一个函数中的命名变量

    我是一名新手程序员 试图使用 Python 3 3 2 编写一个程序 该程序具有main 调用的函数function1 然后循环function2 and function3 我的代码通常如下所示 def function1 print h
  • 阻止禁用用户 firebase 规则

    我不确定这是否有效 但我想知道如果用户已被禁用 是否可以在规则中阻止存储 firestore 读 写 这可能吗 上下文 auth 禁用 或者我是否只需要等待令牌过期 用户就被拒绝访问 禁用用户意味着他们无法再登录 也无法刷新其 ID 令牌
  • python 字符串搜索替换

    SSViewer set theme bullsorbit 这是我的绳子 我想在字符串中搜索 SSViewer set theme bullsorbit 并替换 bullsorbit 用另一根绳子 bullsorbit 字符串是动态变化的
  • IE8 内部 HTML 错误

    这个innerHTML代码在IE8中不能可靠地工作 但正在 IE6 IE7 FF Opera Chrome Safari 中工作 通过不可靠地工作 我的意思是我已将此代码放置在各种元素上的 onmouseover 处理程序中 有时当鼠标悬停
  • 表单嵌套在表中时的 jQuery 表单提交

    是否有原因导致表单无法在表内使用 jQuery 提交 或者我只是做错了什么 我已经在表格外测试了表单提交 然后当我将其包装在表格内时 它就停止工作 即使我添加了额外的parent 来弥补上方移动的形式 td 代码中的元素 有人可以帮我解决这
  • AJAX 响应在 C++ 中无效,但在 Apache 中无效

    我想制作一个用 C 编写的服务器来支持我的游戏 我学习了套接字的基础知识 并编写了一个运行良好的基本聊天程序 现在我想创建一个像 Apache 一样的 HTTP 服务器 但仅限于 AJAX 请求响应部分 我想一开始我复制了一个 Apache