您的位置:首页 > Web前端 > JQuery

jquery之利用ajax与服务器交谈(加载内容到元素上之利用jquery加载内容,使用load()方法)

2011-04-10 15:17 806 查看
jquery之利用ajax与服务器交谈(加载内容到元素上之利用jquery加载内容,使用load()方法)

----------

利用最为基本却有用的jquery的Ajax命令之一load(),从服务器端资源轻松地加载内容。

load()语法:

load(url,parameters,callback)

有可选的参数,向指定的URL发起Ajax请求,可以指定回调函数,在请求完成时调用。响应文本将替换所有已匹配元素的内容。

参数

url (字符串)服务器端资源的URL,正是向它发送请求

parameters (对象)一个对象,其属性被序列化为正确地编码的参数以便传递到请求里。如果指定,就用POST方法来发送请求,如果省略,就用GET方法来发送请求。

callback (函数)一个回调函数,在响应数据已经加载到包装集元素之后被调用。传入这个函数的参数是响应文本,状态码,以及XHR实例。

返回

包装集

这个命令还是有一些需要注意的重要细节。例如,如果利用parameters参数来提供请求参数,则发送POST请求;如果省略parameters参数,则发送GET请求。如果想要发送带有参数的GET请求,可以把参数作为查询字符串包含在URL里。但要意识到如果这样做,就应确保查询字符串正确地格式化以及请求参数的名称和值为URI编码。

大部分时间内,我们利用load()命令把已完成响应的文本插入到包装集所包含的任何元素中,但有时可能想对作为响应而返回的元素进行筛选。在对响应元素进行筛选时,jquery允许在URL上指定选择器以便对哪一些响应元素可以插入到已包装元素进行限制,通过给URL添加空格和#作为后缀来完成,后缀的后面紧接选择器。

例如,为了筛选响应元素,以便只插入<div>实例,编写语句如下:

]$('.injectMe').load('./someResource #div');


====

如果请求参数来自表单控件,帮助建立查询字符串的有用命令是serialize(),语法如下:

serialize()语法:

serialize()

根据包装集里所有的成功表单元素,创建正确格式化的、经过URI编码的查询字符串。

返回

已格式化的查询字符串

serialize()命令足够聪明,只从包装集里所有的成功表单元素来收集信息,成功控件是指根据HTML规范的规则,作为表单提交的一部分而被包括在的控件。未选中的复选框和单选按钮、未选择的下拉列表,以及任何已禁用的控件均被视为不成功控件,因此不能参与表单提交。这些控件也被serialize()所忽略。

====

如果我们宁愿以javascript数组形式来获取表单数据(由于反对查询字符串),Jquery提供serializeArray()方法。

serializeArray()语法:

serializeArray()

把所有的成功表单控制的值都收集到对象的数组中(包含控件的名称为值)

返回

表单数据的数组

serializeArray()所返回的数组由匿名对象实例所组成,每一个均包含name属性和value属性,也就是说包含每一个成功表单控件的名称和值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: