管理系统前后台之间的传值尤为关键,很多时候我们前台显示的数据要通过连接后台的数据库并从数据库中获得,更多的时候我们需要把前台对数据库的修改传递到后台以便完成对数据库的修改。其中我们最长使用的传值方式有三种。
1、使用表单POST传值,直接使用表单的action属性(登陆,增加土地,计划等功能的实现)即可。
当点击type为submit的按钮时,则自动把表单的数据使用POST的方式提交到add.php,
这里需要特别注意,当表单中(在<form></form>)的button按钮没有设置type时,会自动将表单数据提交到php后台,所以如果想要使用<button></button>标签实现类似于取消的功能,一定记得将type设置为button。这个问题我们两个一起找了好久,才找到问题所在。
2、其次GET方式传值,直接通过URL地址传值,例如这里的输入数据模糊查询数据的功能,把值带到php的URL之后也可实现前后端的传值。
3、还有SESSION和COOKIE传值。比如在每个界面需要判断cookie来实现不同的类型的用户不同权限的显示。下面时根据农场主和技术人员不同身份,显示不同的功能的部分代码。
4、使用AJAX可以更方便的把js获取到的数据传递给php处理,比如在修改条目时,可以方便的获取每个js获取到的值并传到后台。type:请求的类型,这里必须用post 。WebMethod方法只接受post类型的请求。 contentType:发送信息至服务器时内容编码类型。我们这里一定要用 application/json 。 url:请求的服务器端处理程序的路径,格式为"文件名(含后缀)/方法名" ,data参数列表。这里的参数一定要是json格式的字符串,如果你写的不是字符串,那jquery会把它实序列化成字符串,那么在服务器端接受到的就不是json格式了,且不能为空,即使没有参数也要 写成"{}"。dataType:服务器返回的数据类型。success:请求成功后的回调函数。你 可以在这里对返回的数据做任意处理。
前台ajax传递代码,更新后要使用location.reload()更新前台显示的数据。防止后台数据库的数据不能及时的被用户看到。
Php只需正常使用POST接收数据。
并且使用以下代码把需要传送给前台组成json数据回送给前台实现前后台数据的交互。
Ajax再通过success:function(msg){}来实现对php传回的json数据的处理,可以做显示,输出等各种方式的处理,使用error:function(){}进行错误处理,这里可以弹出失败信息,请求用户重试。