在网页中,常常有这样那样的表单需要提交,比如登陆,比如注册,比如查询,比如填写问卷。在这样的表单提交过程中,我们究竟向后台提交了什么,是以什么形式提交的,是一个很值得探讨的问题。

提交了什么——就是我们填入表单的东西,而如何提交的过程却是在幕后进行的,本节我们就探讨一下提交了什么。

form表单一个简单的例子如下:

<form action="form_action.php" method="get">
<p>First name: <input type="text" name="fname" /></p>
<p>Last name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>

这段代码的意思是这样:表单的第一项内容,是文本类型,这一项的名字叫做fname。

第二项内容,也是文本类型,名字lname。

action 的内容是表单所有内容的接受者,即处理表单的页面。如何处理——method进行了说明。

提交了什么,提交给谁。通常是在html中就能看出来的,而如何提交是一个更值得探讨的问题。

以下是今天和一位服务器高手请教这个问题的整理:

form表单在提交时,它会自动把<form>和</form>之间的所有数据都提交给action指定的那个接口(这个接口看起来可能比较像网址,也可能只是一个只有服务器才可以识别的字符串)

后台处理逻辑常常是一个PHP文件,但是PHP源代码是不对外部展示的,

那么怎么看一个PHP暴露出来的接口呢?

通常有四种方法:

1、如果接口提交数据不多的话,且不用考虑安全的话,可以从a标签中看到

2、如果提交数据比较多、并且有一定的安全要求,可以在form标签的action属性中看到

3、如果对安全性要求极高,只有去JS函数中才能看到,并且这种情况一般是加密了的,所以一般看不到接口

4、如果该网站提供的第三方接口,可以去网站的相关开放API中查看到

表单提交与后台PHP如何接口?的更多相关文章

  1. form表单提交,后台怎么获取select的值?后台直接获取即可,和input方式一样。

    form表单提交,后台怎么获取select的值? 后台直接获取即可,和后台获取input的值方式一样. form提交后,后台直接根据select的name获取即可,即getPara("XXX ...

  2. easyui表单提交,后台获取不到值

    J2ee开发,使用easyui表单提交,在ie中可以正常将参数传递到后台,但使用firefox,chrome都无法将easyui的combobox值传递到后台,使用alert($('#form').s ...

  3. Ajax表单提交及后台处理简单应用

    首先先说下表单提交吧,要提交表单那么就得先收集表单数据(至于验证这个我就不说了,要说留下下次吧),有了jquery取个html的值还是简单$("xxid").val()等就完了,但 ...

  4. Spring 表单提交,后台自动封装有集合对象的对象

    from表单: <form action="${pageContext.request.contextPath}/vote/save" method="post&q ...

  5. form 表单提交、后台的统一处理

    配合 form 提交后台 /ajaxSubmit/Submit等通过form提交springMvc下@RequestMapping("/save_oaflow_init")//Re ...

  6. ajax模拟表单提交,后台使用npoi实现导入操作 方式二

    页面代码: <form id="form1" enctype="multipart/form-data"> <div style=" ...

  7. ajax模拟表单提交,后台使用npoi实现导入操作 方式一

    页面代码: <form id="form1" enctype="multipart/form-data"> <div style=" ...

  8. js表单提交到后台对象接收

    $.extend({ StandardPost:function(url,args){ var form = $("<form method='post' target='_blank ...

  9. ajax 将整个表单提交到后台处理

    $(document).on('click', '.user-save-btn', function () { $.ajax({ url: 'index', type: 'post', dataTyp ...

随机推荐

  1. String 与StringBuilder有什么区别

    C# String 对象是不可改变的.每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需要对字符串执行重复修改的情况下,与 ...

  2. 【转】Delphi+Halcon实战一:两行代码识别QR二维码

    Delphi+Halcon实战一:两行代码识别QR二维码 感谢网友:绝代双椒( QQ号应原作者要求隐藏了:xxxx6348)的支持 本文是绝代双椒的作品,因为最近在忙zw量化培训,和ziwang.co ...

  3. 基于spring+quartz的分布式定时任务框架

    问题背景 我公司是一个快速发展的创业公司,目前有200人,主要业务是旅游和酒店相关的,应用迭代更新周期比较快,因此,开发人员花费了更多的时间去更=跟上迭代的步伐,而缺乏了对整个系统的把控 没有集群之前 ...

  4. php 读取输出其他文件的方法

    ob_start();iconv('utf-8','gb2312',readfile('1.html')); //直接输出文本内容echo '<hr>'; $data = file_get ...

  5. vue.js 渲染完成回调

    vue.js渲染完成后,想触发一些事情,写在哪里呢? 答案是mounted 例子: new Vue({ el:'#demo', data:{ text:'Hello' }, mounted:funct ...

  6. 初探Spring Batch

    此系列博客皆为学习Spring Batch时的一些笔记: 为什么我们需要批处理? 我们不会总是想要立即得到需要的信息,批处理允许我们在请求处理之前就一个既定的流程开始搜集信息:比如说一个银行对账单,我 ...

  7. Qt : QProcess

    QProcess 类用来启动另外的一个出现并与他们联系. 开始一个进程,通过传递你想要运行程序的名称和命令行参数作为参数给start()函数,来开始一个进程.参数作为独立的字符串来提供. QProce ...

  8. redmine export long csv file failed: 502 proxy error

    After modified the file \apps\redmine\conf\httpd-vhosts.conf: <VirtualHost *:8080> ServerName ...

  9. lua定义一个简单的类

    classA.lua: classA = { a = , b = , --__index = classA; }; classA.__index = classA; function classA:n ...

  10. ElasticSearch学习记录

    中文api 什么是集群? 集群(cluster) >由一个或多个节点组织在一起. >由一个唯一的名字标识,默认为"elasticsearch". 节点(node) &g ...