JQuery+Ajax+php(POST形式)前后端数据传输

JQuery+Ajax+php(POST)前后端数据传输,并显示简单的样式

通过JQuery,Ajax,PHP进行数据操作,进而达到数据显示,数据逻辑的处理,数据的前后端分离的效果
我看网上的写的比较深奥,小弟自己写了一个适合初学者看的原生代码
如有不好,请留言提示,勿喷。
test.html代码

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Ajax+PHP</title>
	<!-- 这是在某鸟教程网站复制下来的jquery ,可以上官网下载-->
	<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
	<h1 id="header">测试</h1>
	用户名:<input type="text" id="username" name="username" /><br>
	密码:  <input type="password" id="password" name="password" /><br>
		   <button type="button" class="butn">Ajax提交</button><br>	
		   <span id = "con"></span>
<script type="text/javascript">
$(document).ready(function(){
    $(".butn").click(function(){
        var username = $("#username").val();
        var password = $("#password").val();
        $.ajax({
			//请求的地址
             url: "test.php", 
			//数据传输的方式
             type: "POST",
			 //需要传输的数据
             data:{name:username,pwd:password},
			 //返回数据的格式
             dataType: "json",
			 //若json返回失败
             error: function(){  
                 alert('请输入用户名,和密码');  
             },  
			 //若json有数据返回
			 //	将所有数据写到res中,直接用 res.status/res.data/res.msg调调用数据(res可以自定义)
             success: function(res){//如果调用php成功 
			 /*
				function returnJson($status,$data="",$msg="")
				{
					$j_array = array("status"=>$status,"data"=>$data,"msg"=>$msg);
					echo json_encode($j_array);
					exit;
				}
				
				注意:status,data,msg,需要前后端一致
			 */
				if(res.status==0)
				{
					alert(res.msg);
					var str = res.msg;
					$("#header").empty();//我习惯先清空id=header 里的值
					$("#header").append(str);//然后进行赋值
					$("#con").empty();//因为是登录失败,所有清空id=con里面的值
				}
				else
				{
					alert('用户密码正确');
					var str = res.msg;//我这里用来接收session
					$("#header").empty();//我习惯先清空id=header 里的值
					$("#header").append(str+'登录成功')//然后进行赋值
					
					$("#con").empty();//因为我这里登录按钮重复按,所有我就登录后先清空在赋值
					
					//输出数据
					var i=0;
					var res_len = res.data.length ;
					for(i=0;i<res_len;i++)
					{	
						//输出类似于表格的数据---也可以设置id样式,或者设置class样式
						//这里就要 i 做循环,可以用别的
						// var str = "<p>后台的序号输出:"+res.data[i].id+"</p>"; 原来版本
						var str = "<p id="+'p_'+i+" class="+'c_'+i+">后台的序号输出:"+res.data[i].id+"</p>";
						
						//重点:-- 赋值给id=con 里面
						$("#con").append(str)
					}
				}
                
            }
        });
    })
})
</script>
</body>
</html>

test.php代码

<?php
//一、假设用户名和密码为admin,admin

//二、开启session,判断登录状态
session_start();

//三、定义JSON函数
/*
$status 用来做匹配的状态
$data 传输的数据(数组格式)
$msg 传输后反应的信息
*/
function returnJson($status,$data="",$msg="")
{
	$j_array = array("status"=>$status,"data"=>$data,"msg"=>$msg);
	echo json_encode($j_array);
	exit;
}

/*判断是否通过POST传来了name和pwd,这里先判断是否有用户名,
因为没有用户名直接输出前端的 
error: function()
{  
    alert('请输入用户名,和密码');  
}, 
原因是没有返回json:详情可以看代码逻辑
*/

if(isset($_POST['name'])&&$_POST['name']!='')
{
	$name = $_POST['name'];
	$pwd = $_POST['pwd'];
	//判断是否有密码
	if(empty($pwd))
	{
		returnJson(0,"","请输入密码");
	}
	else
	{
		//当有密码时候,判断用户和密码是否正确
		if($name=='admin'&&$pwd=='admin')
		{
			//登录成功后赋值给session
			$_SESSION['username'] = $name;
			
			/*这里可以检索数据库语句
			我就简单的写一个for循环当做数据库的数据
			*/
			$i=0;
			for($i=0;$i<=10;$i++)
			{	
				//把循环的数据写成数组
				$data[$i]['id'] = $i;
			}
			
			//通过JSON函数将数组转化为json格式,这里我将session写到msg里面,也可以另写json
			returnJson(1,$data,$_SESSION['username']);
		}
		else
		{
			//用户或者密码不正确的
			returnJson(0,"","账户或者密码输入错误");
		}
	}
	
	
}
//个人喜欢这样引入HTML文件,我觉得写起来比较美观,方便查看.
include "test.html";
?>

代码里面有详细的注释,如有错误:请留言提示、勿喷。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
利用jqueryajax方法可以进行前后端的交互。以下是一个使用JSON进行数据传输的示例: 前端代码: ```javascript // 定义要发送的数据 var data = { name: '张三', age: 20, gender: '男' }; // 将数据对象转为JSON字符串 var jsonData = JSON.stringify(data); $.ajax({ url: 'backend.php', // 后端接口地址 type: 'POST', // 请求方法为POST data: { jsonData: jsonData // 向后端传递JSON数据 }, dataType: 'json', // 预期接收的数据类型为JSON success: function(response) { // 请求成功后的处理逻辑 console.log('后端返回的结果为:', response); }, error: function(xhr, status, error) { // 请求失败后的处理逻辑 console.log('请求失败', error); } }); ``` 后端代码(使用PHP语言作为示例): ```php // 接收前端传递的JSON数据 $jsonData = $_POST['jsonData']; // 将JSON字符串转换为PHP对象 $data = json_decode($jsonData); // 在后端进行对传递的数据的处理 $name = $data->name; $age = $data->age; $gender = $data->gender; // 构造要返回给前端的JSON数据 $response = array( 'result' => 'success', 'message' => '数据接收成功', 'name' => $name, 'age' => $age, 'gender' => $gender ); // 将数据转为JSON字符串 $jsonResponse = json_encode($response); // 返回JSON响应 header('Content-type: application/json'); echo $jsonResponse; ``` 以上就是一个使用jqueryajax方法进行前后端交互,并通过JSON传递数据的示例。前端通过ajax发送JSON数据到后端,后端接收后进行处理后再返回一个JSON响应给前端。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值