文章目录
AJAX API
Data attributes API
Data attributes API
属性 | 描述 |
---|---|
data-request | 指定AJAX要调用的方法 |
data-request-confirm | 指定确认消息。在发送请求之前显示确认。如果用户单击“取消”按钮,则不会发送请求。 |
data-request-redirect | 指定在成功AJAX请求之后重定向浏览器的URL。 |
data-request-url | 指定将请求发送到的URL。默认值:window.location.href |
data-request-update | 指定要更新的partial和页面元素(CSS选择器)的列表。格式为partial: selector, partial: selector. 在某些情况下需要使用引号,如:‘my-partial’: ‘#myelement’. 注意@和^的用法 |
data-request-ajax-global | 默认为false。设置为true可全局启用jQuery ajax事件:ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess和ajaxSend。 |
data-request-data | 指定要发送到服务器的其他POST参数。格式如下 var: value, var: value.如果用引号的话 格式为 var: ‘some string’ 该属性可以在触发元素上使用,例如在也具有data-request属性的按钮上,在触发元素的最接近元素或父表单元素上使用。该框架合并了data-request-data属性的值 如果不同元素上的属性使用相同的名称定义参数,则框架将使用以下优先级:触发元素data-request-data,较近的父元素data-request-data,表单输入数据。 |
data-request-before-update | 指定要在页面内容更新之前直接执行的JavaScript代码。在JavaScript代码中,您可以访问以下变量:this(触发请求的元素),context对象,从服务器接收的data,textStatus 文本,jqXHR对象 |
data-request-success | this , context object , data object , textStatus , jqXHR object. |
data-request-error | this , context object , textStatus , jqXHR object. |
data-request-complete | 指定在请求成功完成或遇到错误时要执行的JavaScript代码。可访问变量为:this(触发请求的元素),context对象,textStatus 文本,jqXHR对象 |
data-request-loading | 为请求运行时要显示的元素指定CSS选择器。您可以使用此选项显示AJAX加载指示器。该功能使用jQuery的show()和hide()函数来管理元素的可见性。 |
data-request-form | 显式指定一个表单元素以用于获取表单数据。如果未指定,则使用最接近触发元素的表单,包括元素本身是一个表单。 |
data-request-flash | 指定后,此选项将指示服务器清除并发送带有响应的所有Flash消息。本选项也用在extra features中 |
data-request-files | 指定请求文件时,请求将接受文件上传,这需要浏览器提供FormData接口支持。 |
data-track-input | 可以应用于还具有data-request属性的文本,数字或密码输入字段。定义后,当用户在字段中输入内容时,输入字段会自动发送AJAX请求。 可选属性值可以定义框架在发送请求之前会等待多久间隔(以毫秒为单位) |
当为元素指定data-request属性时,当用户与其交互时,该元素会触发AJAX请求。根据元素的类型,以下事件将触发请求:
元素 | 事件 |
---|---|
Forms | 表单发送时 |
Links, buttons | 点击时 |
Text, number, and password fields | 当文本更改时,并且仅当出现了data-track-input属性时 |
Dropdowns, checkboxes, radios | 元素被选择时 |
用法
提交表单时调用onCalculate方法。用名为‘calcresult’的partial更新标识符为“ result”`的元素:
<form data-request="onCalculate" data-request-update="calcresult: '#result'">
发送请求之前,单击“删除”按钮,请求确认:
<