- 我们用bootstrap来布局就不用写样式,所以我们先引入bootstrap框架,放一个div类名为container,再在里面写form表单,在表单里我们先放四个div分别放姓名,性别和地址还有按钮,并且给他们两个相同的类为form-group form-row,有了这两个类就把样式都写好了。
- 在每个的div中放一个label标签(除了放按钮的div),我们把文本放在label标签内,并且给label标签三个相同的类form-check-label col-1 text-center。
- 在姓名的div内再放一个input标签,让它里面的type属性为text,name属性为name,id为name,class为form-control col-11。
- 在性别的div内再放一个select标签,让它里面的name属性为sex,id为sex,class为form-control col-11,在select标签里面放三个option标签,里面的文本分别为请选择,男,女,并且他们对应的value值分别为0,男,女。
- 在地址的div内再放一个text area标签,让它里面的name属性为address,id为address,class为form-control col-11。
- 在最后一个div内再放八个button标签,他们的id分别为btnAjax,btnAjaxPost,btnGet1,btnGet2,btnPost1,btnPost2,btnGetJson1,btnGetJson2,其他样式都差不多,就是颜色不同。注:οnsubmit="return false;" 禁止表单自动提交,from表单有这个属性只有JavaScript的方法才能实现手动提交,jQuery不能,反之都能实现手动提交
我们先来写get获取,他又两种方法。
- 第一种我们给第三个button按钮绑定点击事件,$("#btnGet1").click(function () {}),再用$美元符号调用get这个方法,它里面有三个参数。
- 第一个为请求的地址,/Ajax/index2,index2是控制器中的方法
public ActionResult index2()
{
string str = "{\"name\":\"丁总\",\"sex\":\"女\",\"address\":\"江西丰城\"}";
return Content (str);
//return json(str,JsonRequestBehavior.AllowGet);
}
3.第二个为回调的函数,需要传一个参数(自定义)我们在控制台输出一下这个参数,结果为:{name: "丁总", sex: "女", address: "江西丰城"},是一个对象,我们再把得到的值绑定到input标签上,就是把对象里的值赋值给他们$("#name").val(data.name);
$("#sex").val(data.sex);
$("#address").val(data.address);之所以能直接绑定,是因为第三个参数的作用。
4.第三个为转换的类型,这里我们写的是json,就是把传过来的数据转化成json数据,这样就可以直接绑定到input标签上了。
- 第二种方法只是在控制器中做了一些改变导致写法有一点点不同,前面都是一样的,我们把请求的地址改成/Ajax/index6,index6就是把返回值变成了json格式的字符串。所以我们需要将json格式的字符串转化成js对象,JSON.parse(data),写了这句代码我们才能绑定到input标签上。
- 现在我们来写get提交,我们给第四个button按钮绑定点击事件,$("#btnGet2").click(function () {}),我们再来将三个input标签的值赋值给声明的三个变量name,sex,address,我们可以再声明一个变量obj,将一个对象赋值给他,这个对象的内容以键值对的形式展现:a: name,b: sex,c: address,其中a,b,c为键,并且a,b,c是控制器方法中的参数,那三个变量为值。
- 再用$美元符号调用get这个方法,它里面有三个参数。
- 第一是地址,/Ajax/index3,index3也是控制器中的方法,
public ActionResult index3(string a,string b,string c)
{
string ss = a + b + c; return Content(ss);
}
- 第二是我们事先声明的对象。
- 第三又是我们的回调函数,还是要传参数,并且再控制台输出。