前端复习总结一

一.form表单提交

方式一:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>表单练习</title>
	</head>
	<body>
		<form action="http://localhost:8081/user" method="post">
			<tr>
				<td>
					用户名:<input name="username" type="text"/>
				</td>
			</tr>
			<tr>
				<td>
					密码:<input name="password" type="text"/>
				</td>
			</tr>
			<tr>
				<td>
					<input value="登录" type="submit"/>
				</td>
			</tr>
		</form>
	</body>
</html>
package com.example.myajax.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@Controller
public class TestController {

    @PostMapping("/user")
    @ResponseBody
    public String add(String username,String password){
        System.out.println("返回数据了"+username+"--------"+password);
        String str = "返回值是"+username+password;
        return str;
    }
}

效果:

方式二(Ajax提交):

前端代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>表单练习</title>
	</head>
	<body>
		<form action="#" method="post" id="fromtest" onsubmit="return false">
			<tr>
				<td>
					用户名:<input name="username" type="text"/>
				</td>
			</tr>
			<tr>
				<td>
					密码:<input name="password" type="text"/>
				</td>
			</tr>
			<tr>
				<td>
					<input value="登录" type="button" onclick="login()"/>
				</td>
			</tr>
		</form>
	</body>
	<script src="../plugins/js/jquery-1.4.2.min.js"></script>
	<script src="../plugins/js/jquery-1.4.2.js"></script>
	<script type="text/javascript">
		function login() {
			$.ajax({
				type:"POST",
				dataType:"test",//预期服务器返回的数据类型 如果是对象返回的是json 如果是字符串这里一定要定义text 之前我就是定义json 结果字符串的返回一直到额error中去
				url:"http://localhost:8081/user",
				data:$('#fromtest').serialize(),//serialize表示自动提取表单数据
				success:function(result){
					alert("成功!")	
					console.log(result)
					if(result.resultCode==200){
						alert("SUCCESS!")	
					}
				},
				error:function(result){
					alert("失败!")
					console.log(result);
				}
			})
		}
	</script>
</html>

后端代码:

package com.example.myajax.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@Controller
public class TestController {

    @PostMapping("/user")
    @ResponseBody
    public String add(String username,String password){
        System.out.println("返回数据了"+username+"--------"+password);
        String str = "返回值是"+username+password;
        return str;
    }
}

测试结果;

控制台输出;

 这种错误是因为跨域问题造成的,只需要在Controller加个注解即可解决,最终后端代码:

package com.example.myajax.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@Controller
@CrossOrigin//解决跨域攻击问题
public class TestController {

    @PostMapping("/user")
    @ResponseBody
    public String add(String username,String password){
        System.out.println("返回数据了"+username+"--------"+password);
        String str = "返回值是"+username+password;
        return str;
    }
}

报错说明:

这种错误很低级,一般都是因为粗心导致的大家一定要好好检查自己的Ajax写法是否正确我这里是因为写法错了 

方式三:

前端代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>表单练习</title>
	</head>
	<body>
		<div>
			<form action="#" method="post" id="fromtest" onsubmit="return false">
				<tr>
					<td>用户名:</td>
					<td><input name="username" type="text"/></td>	
				</tr>
				<tr>
					<td>密码:</td>
					<td><input name="password" type="text"/></td>
				</tr>
				<tr>
					<td>
						<input value="登录" type="button" onclick="login()"/>
					</td>
				</tr>
			</form>
		</div>
	</body>
	<script src="../plugins/js/jquery-1.4.2.min.js"></script>
	<script src="../plugins/js/jquery-1.4.2.js"></script>
	<script src="../plugins/js/jquery.easyui.min.js"></script>
	<script type="text/javascript">
		function login() {
			$('#fromtest').form("submit",{
				url:"http://localhost:8081/user",
				onsubmit:function(){
					//这里可以验证表单是否可以提交,否则返回false
				},
				success:function(data){
					alert("欧克")
					console.log(data)
				}
			})
		}
	</script>
</html>

后端代码不变,这里需要引入一下jquery文件和easyui文件

效果:

控制台不输入任何内容,是这样的目前也不知道什么原因,有那位大神知道的话欢迎留言!!!

 

参考文档:form表单提交的几种方式_a1194821568的博客-CSDN博客_form表单提交

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值