1.引入jQuery相关js包
2.序列化数据打包
使用serialize()或param()方法,例如
var con1 =$("form").serialize(); //则con1变量为序列化数据"id=123&password=456&else=789"
不想加入第三个输入框的内容,则在html中删除其name属性,想增加内容可以增加隐藏的输入框;
param()方法,适合序列化js中的一些变量,如
var phone=111 ; var sex="男";
var con2 = $.param( { "phone":phone, "sex":sex } ) //则con2变量为序列化数据"phone=111&sex=男"
两者也可以结合使用,如
var data = $("form").serialize() + "&" + $.param({ "sex":"男" });
//则data变量为序列化数据"id=123&password=456&else=789&sex=男"
3.使用ajax()方法提交请求
$.ajax({
url : record.php , //请求url地址
datatype : "json" , //返回的数据类型
type : "post" , //请求方式get或post
anync : "false" ,//true异步请求,false同步请求,默认是true
data : data ,//发送数据,上文打包的data变量
success : function (data){//成功请求后会执行方法,得到data
var myjson = eavl( '(' + data + ')' );//data为json字符串,所以需要转化
var mypassword = myjson.result; //取得json中内容
//继续相关后续逻辑处理
}
});
至于后端怎么响应,以PHP语言为例
//UTF-8编码,防止乱码
header("Content-type: text/html; charset=utf-8");
//直接以名称接收,此外进行安全性检查防止注入
$id = '';
if(is_string(!empty($_POST['id']) ? $_POST['id'] : null)){
$data = strval($_POST['id']);
}
//以及获取其他请求的参数
//业务处理,假设处理结果为result变量
$result = '666';
//制作json
$jsonkey = array('result'=>$result);
echo json_encode($jsonkey);
以上,
我自己也是刚刚开始学习,发现网上关于ajax()的知识都比较零碎,所以整理笔记,一起学习
如果您发现我的错误,还请指正共勉。