将数据从浏览器发送到服务器并返回

2024-04-18

我是 C++ 开发人员,很长一段时间以来我没有真正跟进任何与 Web 相关的开发。我有一个想要实施的项目,实际上是为了赶上这些技术。我的项目是这样的:

  • 在浏览器中显示一些内容(例如使用画布和 WebGL 的 3D 场景的内容),在页面上有一个按钮。单击按钮时,将数据发送到服务器(例如相机位置),在服务器上渲染图像(使用一些离线高质量渲染解决方案),将图像返回到浏览器,最后显示它在画布中。

我相信我可以用 WebGl、canvas 和 HTML 5 等简单的东西来填补空白。我熟悉其中一些技术,我可以学习。我完全迷失的是用于或需要执行诸如将数据发送到服务器、在那里处理它们以及将一些结果发送回客户端之类的事情的技术。当然,现在我已经在网络上做了一些研究,但是那里的东西太多了,很难知道朝哪个方向发展。它们是大量的库、API、技术等。

我怀疑我需要使用 JavaScript、DOM、HTML5 的某种组合......但如果人们以前这样做过或知道它应该如何工作,可以为我指明正确的方向,我将不胜感激。我真的在寻找一些基本的东西,如果可能的话,不使用某种第三方 API。我不想做一些复杂的事情,只是简单的事情,发送数据,处理,发回显示。我的目标是理解原理,而不是做出专业的或超级强大的东西。我这样做是出于教育目标(学习和理解)。

我读到有关 RESTFul 的内容,但我仍然不确定这是否是我所需要的。真的,如果有人可以简单地向我描述这个项目所需的基本技术组件,向我指出文档、教程、示例,给我应该阅读的技术片段的名称,我将不胜感激。

我意识到这个问题的范围非常大(而且我应该之前就完成我的家庭作业,而不是现在有多年的知识来赶上)。我相信这个问题可能引起很多人的极大兴趣。我还保证,当我弄清楚并工作时,我将发布我的发现,以及为什么不发布我的工作示例。

谢谢。


不是答案,只是包含代码的建议/想法。结构化/格式化的评论。

不确定如何在 C++ 中使用/编码它们,但这只是渲染 HTML 和实现 javascript 代码的问题。

要点是:

已加载 jQuery 库。一种方法是:

<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
</head>

对 jQuery 脚本使用 javascript 代码块:

<script type="text/javascript">
    $(document).ready(function() {

        $('#mybutton').click(function() {
            var pic = $('image_selector').val();
            $.ajax({
                type: "POST",
                url: "ind.php",
                data: "img=" + pic
            })
            .done(function(recd) {
                $('#txtHint').html(recd);
            });
        }); //END mybutton click

    }); //END document.ready
</script>

我不知道你如何将图片作为 var 发送,或者如何构建它,但你得到了基本要点......

在服务器端,它的工作方式如下(例如使用 PHP):

<?php
    $image = $_POST['img'];

    //Do something with the received image

实际上,现在我正在考虑,您正在发送图像(我以前没有做过的事情),所以我认为您不能像文本或 JSON 对象一样发送它......您可能需要发布它与enctype='multipart/form-data文件上传的属性,就像使用表单上传时所做的那样?只是猜测。

无论如何,这并不是为了回答你的问题,只是为了给你一些提示,让你进一步了解哪里。


有关 AJAX 基础知识,请参阅以下简单示例:

一个简单的例子 https://stackoverflow.com/questions/13734395/form-inside-of-load-not-posting-correctly/13734466#13734466

更复杂的例子 https://stackoverflow.com/questions/17887098/two-post-requests-one-after-the-other-second-post-request-doesnt-get-execut/17887642#17887642

根据下拉列表 1 中的选择填充下拉列表 2 https://stackoverflow.com/questions/16924082/dynamic-drop-down-box/16924652#16924652

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

将数据从浏览器发送到服务器并返回 的相关文章

随机推荐

  • 如果您不打算从自适应渲染中受益,那么使用 HtmlTextWriter 有什么好处吗?

    除了从替代设备的自适应渲染中受益之外 编写所有这些代码是否有意义 writer WriteBeginTag table writer WriteBeginTag tr writer WriteBeginTag td writer Write
  • 将位串 numpy 数组转换为以 2 为基数的整数的最快方法

    我有一个由位串组成的 numpy 数组 我打算将位串转换为以 2 为基数的整数 以便执行一些异或按位运算 我可以在 python 中将字符串转换为以 2 为基数的整数 int 000011000 2 我想知道在 numpy 中是否有更快更好
  • 将两个 Map 合并为一个 MultiMap

    在 Java 中将两个 Map 组合成一个 Guava MultiMap 的最佳方法是什么 例如 Map1 包含 1 a 和 2 b Map2 包含 2 c 和 3 d 然后生成的组合多重贴图将包含 1 a 2 b c 和 3 d 这是我当
  • 如何在 Angular 中处理空值

    我正在向 Angular 发送数据 但记录的其中一个值 关闭日期 为空 我如何在 Angular 中处理这个问题 以便如果 value 为 null 它会更改为 getDetails this myService getFlowerDeta
  • Android NumberPicker with Formatter 在首次渲染时不会格式化

    我有一个 NumberPicker 它有一个格式化程序 可以在 NumberPicker 旋转或手动输入值时格式化显示的数字 这工作正常 但是当 NumberPicker 首次显示并且我用以下命令初始化它时setValue 0 0 不会被格
  • GCP Dataproc 作业未找到存储在存储桶中的 SSL pem 证书

    我有一个 GCP Dataproc 集群 我正在尝试部署一个 pyspark 作业 该作业使用 SSL 生成一个主题 pem 文件存储在存储桶 gs dataproc kafka code code 中 我正在使用下面所示的代码访问 pem
  • 使用日期的 MongoDB 聚合 $unwind $match - 我错过了什么?

    我是 MongoDB 的新手 我正在尝试使用聚合 我部分地做了我正在寻找的事情 但我对约会有一种奇怪的行为 MongoDB 信息 版本 2 2 0 操作系统 Windows 7 客观的 获取 2012 11 22 之后创建的所有评论 让我们
  • 移动应用程序的后台数据同步

    我们正在数据库之上构建 API 和移动应用程序 该数据库的主表中有数十万条记录 我们的移动开发人员正在努力推动应用程序在本地数据库中预加载完整的表 然后提供一项服务 让手机可以将更改与数据库同步updated at column 虽然这肯定
  • 静态局部变量和静态全局变量有什么区别?

    C 入门 说 每个局部静态变量在第一次之前都会被初始化 执行通过对象的定义 本地静态数据是 函数结束时不会被销毁 当程序运行时它们被销毁 终止 局部静态变量与全局静态变量有什么不同吗 除了申报地点不同之外 还有什么不同呢 void foo
  • 如果通过 setImageURI 设置一次,我如何更新壁画 SimpleDraweeView 的图像

    我正在使用 Facebook Fresco 库和 SimpleDraweeView 来显示文件中的头像图像 Uri avaURI Uri fromFile new File getCacheDir Constants AVA FILE NA
  • AWS cli windows - 在将路径添加到环境变量后仍然收到“'aws'无法识别...”?

    找到以下说明here https stackoverflow com questions 42099986 setting up the path so aws cli works properly 和其他地方 我将 USERPROFILE
  • ORA-12170: TNS: 发生连接超时

    我尝试使用 Oracle Toad 连接到笔记本电脑中的数据库 但仍然出现此错误 ORA 12170 TNS 发生连接超时 我不断出现此错误的可能原因是什么 我昨天访问了同一个数据库并且能够访问它 收集评论里的答案 问题是Oracle服务运
  • R/RStudio、Yosemite 和 Java

    我昨天升级到 OSX Yosemite 当我跑步时library xlsx in RStudio 程序崩溃 我收到消息 要打开 RStudio 您需要安装旧版 Java SE 6 运行时 我得到相同的结果和关于打开的消息R当我跑步时libr
  • jQuery load() 函数不起作用

    我是 JavaScript 世界的新手 我正在尝试使用函数 load 插入另一个 html 文件 解释起来有点困难 代码如下 你能帮助我吗 我没有使用网络服务器 谢谢 为什么它不起作用 浏览器安全限制可能会阻止您使用 A
  • 无法消除我的子图像和父 div 之间奇怪的 2px 空间

    我已经尝试了我所知道的一切 我开始认为它是由 Tumblrs javascript 创建的 首先 我确实有内联块 我知道它们读取空白并添加像素 但经过多次测试 剥离了我所有的 javascript 并删除了所有内容 只留下了一个标准 div
  • 在 WPF 中将项目添加到组合框

    当我向 WPF 窗口添加组合框时 如何向组合框添加项目 Int 设计的 XAML 代码还是在 NameOfWindow xaml cs 文件中 情况 1 您没有数据源 您只需填充ComboBox静态值如下 来自 XAML
  • 在 Pycharm 中过滤记录器控制台输出的简单方法?

    我已经通过该程序命名了我的所有记录器 我想做的是能够通过 Pycharm 中的记录器名称过滤控制台日志输出 可以在不编辑日志配置文件的情况下完成此操作吗 您可以使用以下命令在 PyCharm 的控制台窗口中过滤输出格雷普控制台 https
  • 如何非递归地获取二叉树中叶节点的数量?

    我有一个练习问题被难住了 在不使用递归的情况下获取二叉树中叶节点的数量 我已经四处寻找一些想法 我已经看到了一些想法 例如将节点传递到堆栈 但我不知道当有多个分支时如何做到这一点 任何人都可以提供指针吗 NumberOfLeafNodes
  • 为每个文件运行气流 DAG

    所以我在airflow中有一个非常好的DAG 它基本上在二进制文件上运行几个分析步骤 作为airflow插件实现 DAG 由 ftp 传感器触发 该传感器仅检查 ftp 服务器上是否有新文件 然后启动整个工作流程 所以目前的工作流程是这样的
  • 将数据从浏览器发送到服务器并返回

    我是 C 开发人员 很长一段时间以来我没有真正跟进任何与 Web 相关的开发 我有一个想要实施的项目 实际上是为了赶上这些技术 我的项目是这样的 在浏览器中显示一些内容 例如使用画布和 WebGL 的 3D 场景的内容 在页面上有一个按钮