ajax post提交php,.ajax()方法学习笔记(js提交post请求,php后台处理响应)

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()的知识都比较零碎,所以整理笔记,一起学习

如果您发现我的错误,还请指正共勉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值