首页 > 编程语言 >HTML、JS与PHP之间的数据传输

HTML、JS与PHP之间的数据传输

时间:2023-04-14 10:32:26浏览次数:27  
标签:请求 JS 数据库 购物车 HTML PHP

在电商网站搭建过程中,前端经常会向后端请求数据,有时候通过HTML、JS和PHP文件的处理来实现数据的连通。通常情况下,用户在HTML中做关键字操作,JS对提交的表单进行数据处理,向后端发起ajax请求对应PHP的api接口,PHP在接收到数据后对连接服务器,服务器再通过PHP中的SQL语句对数据库关键字进行处理返回给PHP,再由PHP返回给前端,前端通过JS处理将数据渲染在HTML中,最终呈现给用户。图1为数据传输流程图:

HTML、JS与PHP之间的数据传输_数据

图1 HTML、JS与PHP之间的数据传输流程图

以加入商品到购物车为例,本例为模拟数据,和实际的数据库的数据不同。

HTML、JS与PHP之间的数据传输_数据_02

图2 商品列表

加入购物车的点击事件大致步骤为:用户点击“加入购物车”按钮==>页面获取当前商品唯一值(如商品ID:productID)==>JS处理点击事件,将唯一值连同用户信息通过ajax请求传送给PHP===>PHP向服务器请求连接===>数据库语句执行===>服务器将执行结果返回给PHP===>PHP将执行结果传送给前端。

如果数据库语句执行成功,那么数据库中该用户的购物车表就多了一项刚加入的商品数据,同时服务器也会向PHP返回执行成功信息(及一条不为空的数据串),而用户的界面就会显示“成功加入购物车”等字样(如图1-1所示);若执行失败,也会将失败信息(err)传给PHP,用户界面也会显示相应的提示,如图3所示。

HTML、JS与PHP之间的数据传输_数据_03

图3 成功加入购物车提示

1.HTML中的代码实例,商品列表信息通过引入art-template模块进行渲染,代码如下

HTML、JS与PHP之间的数据传输_数据库_04


2.JS中的数据请求处理实例如下,加入购物车的请求的api文件路径为http://localhost/api/add.php,此时将点击加入的商品ID及操作的用户ID封装为对象,用ajax的post请求传给服务端

HTML、JS与PHP之间的数据传输_PHP_05

3.PHP中的代码(及JS中所请求的add.php文件)

HTML、JS与PHP之间的数据传输_数据_06


HTML、JS与PHP之间的数据传输_数据库_07

4.当用户进入购物车时,页面要请求该用户在数据库中的购物车表cartList,此时查询结果应该为一个数组,数组里的每一个子元素对应一个唯一的商品对象,数据库查询语句如下:

HTML、JS与PHP之间的数据传输_数据_08

关于PHP语法的说明:

mysql_query() 函数执行某个针对数据库的查询,每次查询结果仅有一条数据。

mysql_fetch_row() 从和结果标识 data 关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。依次调用 mysql_fetch_row() 将返回结果集中的下一行,如果没有更多行则返回 FALSE。

标签:请求,JS,数据库,购物车,HTML,PHP
From: https://blog.51cto.com/u_15739596/6189584

相关文章

  • jquery ajax contentType为application/json及设置请求头header
    1.找了好久发现contentType一般为默认的application/x-www-form-urlencoded,这次post请求后台限定了为application/json2.当设置contentType为application/json还是出错时,把data也要转换一下$.ajax({method:"POST",url:"",contentType:'application/json',......
  • JS阻止表单提交
    阻止表单提交方法一:<inputtype=submitname=t_buttonοnclick="aaa();returnfalse">方法二:<inputtype=submitname=t_buttonοnclick="returnaaa()">functionaaa(){...returnfalse;}......
  • JavaScript 之 JSON [1]介绍、语法、值
    JavaScript之JSON[1]介绍、语法、值1、简介JSON指的是JavaScript对象表示法(JavaScriptObjectNotation)JSON是轻量级的文本数据交换格式JSON使用Javascript语法来描述数据对象,但JSON仍独立于语言和平台。JSON解析器和JSON库支持许多不同的编程语言。目前非常......
  • npm安装html2pdf后出现缺少文件的情况
      当时发现这个问题的时候,我就去node_modules里面找,确实没有这个文件,故判定是没有完全安装导致的错误信息最终解决方案:在终端中进入项目文件夹,执行以下命令:npmuninstallhtml2pdfnpminstallhtml2pdf这将卸载旧的html2pdf模块并重新安装它。如果你仍然遇到问题,请......
  • Vue.js element-ui
    基本使用视频按需引入视频7.1移动端常用UI组件库Vanthttps://youzan.github.io/vantCubeUIhttps://didi.github.io/cube-uiMintUIhttp://mint-ui.github.io7.2PC端常用UI组件库.ElementUIhttps://element.eleme.cnIViewUIhttps://www.iviewui.comsrcApp.vue......
  • Vue.js history模式与hash模式
    视频13.路由器的两种工作模式对于一个url来说,什么是hash值?——#及其后面的内容就是hash值。hash值不会包含在HTTP请求中,即:hash值不会带给服务器。hash模式:地址中永远带着#号,不美观。若以后将地址通过第三方手机app分享,若app校验严格,则地址会被标记为不合法。兼容性较......
  • Node.js文件路径:Path模块
    path模块是nodejs的内置模块,便于我们去获取、操作文件路径记录一些注意事项:文件的绝对位置cjsconsole.log(__filename)mjsmjs中,不能使用__filename和__dirnameconsole.log(import.meta.url)文件所处的目录cjsconsole.log(__dirname)mjsimport{dirname}from"path......
  • 原生JS修改输入框value,并触发前端框架改变内部管理的响应式数据
    背景有时候,我们需要在一个网站上重复地执行某些操作,例如:输入>查询>输入>查询······这时候,我们可以写一个js自动化脚本执行这些操作,来保护我们的手指关节,以及键盘鼠标。对于大多数网站来说,使用web框架如vue进行开发,这些框架使用内部的响应式系统来管理数据,针对input元素,v......
  • js中一个移除对象中子数组中空值的函数
    js中一个移除对象中子集数组中空值(null,undefined)的函数functionremoveNull(obj){letdelarr=[];for(letiinobj){//排除法寻找对象类型if(typeof(obj[i])==='boolean'||typeof(obj[i])==='string'||typeof(obj[i])==......
  • js的一些小问题集合
    1.等于号的应用functionreverse(){varcheckbox=document.getElementsByName("hobby");for(leti=0;i<checkbox.length;i++){if(checkbox[i].checked==true){//注意一个问题,在if中用双等于来作为正确的判断单等于号为赋值checkbox[i].checked=false;}elsecheck......