📜  Sencha Touch-上传和下载

📅  最后修改于: 2020-10-19 03:07:13             🧑  作者: Mango


Sencha Touch提供XHR2配置以与Ajax和Ajax2开发一起使用。

XHR2是xmlHttpRequest级别2,用于从服务器请求数据。对于任何Web应用程序,数据都驻留在服务器上,并且一旦页面被加载,就应该借助Ajax请求从服务器访问数据。

Sencha Touch中的XHR2提供了进度条功能,该功能可向用户显示针对特定请求传输的数据量。 XHR2是新添加的,因此我们需要检查浏览器是否支持它。

以下是该函数检查浏览器是否支持XHR2 –

if (Ext.feature.has.XHR2) {
   // Here we can write functionality to work if browser supports XHR2 
}  

我们甚至可以检查浏览器是否支持使用XHR2进行渐进式上传。

if (Ext.feature.has.XHRUploadProgress) {
   // Here we can write functionality to work if browser supports progressive uploads
}

Sencha Touch中包含各种XHR2新功能。

Sr.No Features & Description
1

XHR2: true

This is used to enable and disable XHR2 functionality in the application.

2

Ext.field.File

New file field is added to give more cality about the type of field.

3

Ext.field.FileInput

This to provide FileInput.

4

Ext.progressIndicator

This is to provide exact percentage of data transferred in terms of progress bar.

5

xtype: fileinput

To create instance of fileInput class.

6

xtype: filefield

To create instance of file class.

7

responseType : value

This parameter allows various types of responses as text, document, blob etc.

以下是发送带有和不带有参数的简单ajax请求以及使用ajax上传文件的示例。

没有参数的简单Ajax请求-成功


      
      
   
   
   

它将产生以下结果-

上面的示例显示了成功的ajax调用,因为提到的URL是正确的。在这个例子中,我们没有传递任何参数,只是一个简单的ajax请求,它命中了提到的URL。

如果您在开发人员工具中使用chrome浏览器,请导航至“网络”部分,您可以看到正在发送的请求和得到的响应。

没有参数的简单Ajax请求-失败


      
      
   
   
   

它将产生以下结果-

在上面的示例中,仅为了说明ajax失败的工作原理,我们提到了错误的URL。比较此示例和上一个示例,您会发现区别。

在Ajax请求中发送参数


      
      
   
   
   

它将产生以下结果-

在此示例中,我们使用ajax调用的data属性将参数与ajax一起传递。

使用Ajax上传文件


      
      
   
   
   

它将产生以下结果-

此示例显示了如何使用ajax调用上传数据。在此示例中,我们使用进度条指示器来显示上传文件时的进度。