ajax url调用类方法,【总结】异步调用ajax构造URL字符串的几类方法

通常使用ajax异步调用都是这样的格式

$.ajax(){

url:url,

data:data,

success: function(re){

return re;}

};

有人说过php,从简单上来说就是对字符串的处理。今天,我想说的是对data值的处理。

一、data属于一个对象,但类型有点类似于数组,有键值及数值之分,原始数据包括 {key:value}的形式,在后台接受到的值就变为array['key']=value。

二、 有时候数据复杂且过多时候,会有使用到input标签,通过表单可以传比较多的参数值,通过form提交即可传值。若没有form时候,这时候一定会有人与当初的我一样一筹莫展。所以,我们可以取巧,var data = jQuery('

').append(jQuery('input').clone()).serialize();在不影响页面整体的情况下只需取到需要的值即可。记住:clone()只指向参数值,内存地址却不一样。

三、serialize()作用于一个JQuery对象,它能够将DOM元素内容序列化为字符串,用于ajax请求。通过使用serialize()方法,可以提交本页面的所有域。serializeArray()没有用过,但如果被传递的对象在数组中则可以使用此方法。

四、$.param()方法是serialize()方法的核心,用来对一个数组或对象按照key/value进行序列化。比较通俗易懂: var obj = {a:1,b:2,c:3};

var k = $.param(obj);

alert(k);   //输出a=1&b=2&c=3

五、至于toQueryString( ),是将一个 hash 转换为 URL 编码字符串形式。这是一种串行化的形式,常用于提供复合的参数集,例如为 Ajax 命名空间中的那些对象提供参数(如 Ajax.Request 的parameters选项)。

举个栗子:

$H({ action: 'ship', order_id: 123, fees: ['f1', 'f2'], 'label': 'a demo' }).toQueryString()

$H().toQueryString()

// -> 'action=ship&order_id=123&fees=f1&fees=f2&label=a%20demo'

六、http_build_query什么是序列化数组的URL的一种常用方法。PHP自动反序列化它$_GET

$fs = array(5, 12, 99);$url = "http://$_SERVER[HTTP_HOST]/?" .

http_build_query(array('c' => 'asdf', 'fs' => $fs));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值