首页技术jquery下载地址(怎么下载jquery)

jquery下载地址(怎么下载jquery)

编程之家2026-06-091195次浏览

大家好,如果您还对jquery下载地址不太了解,没有关系,今天就由本站为大家分享jquery下载地址的知识,包括怎么下载jquery的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

jquery下载地址(怎么下载jquery)

JqueryAjax请求文件下载操作失败怎么处理

这次给大家带来Jquery Ajax请求文件下载操作失败怎么处理,处理Jquery Ajax请求文件下载操作失败的注意事项有哪些,下面就是实战案例,一起来看一下。

jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯,本文重点给大家介绍Jquery Ajax请求文件下载操作失败的原因分析及解决办法,对ajax请求失败的原因分析感兴趣的朋友一起学习把

jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。

废话少说,直接进入正题,我们先来分析一下失败的原因

一、失败的原因

那是因为response原因,一般请求浏览器是会处理服务器输出的response,例如生成png、文件下载等,然而ajax请求只是个“字符型”的请求,即请求的内容是以文本类型存放的。文件的下载是以二进制形式进行的,虽然可以读取到返回的response,但只是读取而已,是无法执行的,说白点就是js无法调用到浏览器的下载处理机制和程序。

jquery下载地址(怎么下载jquery)

二、解决方案

1)可以使用jquery创建表单并提交实现文件下载;

var form=$("<form>");

form.attr("style","display:none");

form.attr("target","");

form.attr("method","post");

jquery下载地址(怎么下载jquery)

form.attr("action",rootPath+"T_academic_essay/DownloadZipFile.do");

var input1=$("<input>");

input1.attr("type","hidden");

input1.attr("name","strZipPath");

input1.attr("value",strZipPath);

$("body").append(form);

form.append(input1);

form.submit();

form.remove();2)可以直接使用a标签实现文件下载;

<a href=”下载地址”>点击下载</a>

3)使用隐藏iframe或新窗体解决。

PS:AJAX请求$.ajax方法的使用

使用jQuery的$.ajax方法可以更为详细的控制AJAX请求。它在AJAX请求上施加细粒度级别的控制。

$.ajax方法语法

$.ajax(options)

参数

options

(对象)一个对象的实例,其属性定义这个操作的参数。详情见下表。

返回值

XHR实例

options详细范围值

名称

类型

描述

url

字符串

请求的url地址

type

字符串

将要使用的HTTP方法。通常是POST或GET。如果省略,则默认为GET

data

对象

一个对象,其属性作为查询参数而传递请求。如果是GET请求,则把数据作为查询字符串传递;如果是POST请求,则把数据作为请求体传递。在这两种情况下,都是由$.ajax()实用工具函数来处理值的编码

dataType

字符串

一个关键字,用来标识预期将被响应所返回的数据的类型。这个值决定再把数据传递给回调函数之前(如果有)进行什么后续处理。有效值如下:

xml-响应文本被解析为XML文档,而作为结果的XML DOM被传递给回调函数

html-响应文本未经处理就被传递给回调函数。在已返回HTML片段内的任何<script>块将被求值

json-响应文本被求值为JSON字符串,而作为结果的对象被传递给回调函数

jsonp-与json相似,不同之处是提供远程脚本支持(假定远程服务器支持)

script-响应文本被传递给回调函数。在任何回调函数被调用之前,响应被作为一个或多个JavaScript语句而进行处理

text-响应文本被假定为普通文本。服务器资源负责设置适当的内容类型响应标头。如果省略这个属性,则不对响应文本进行任何处理或求值就传递给回调函数

timeout

数值

设置Ajax请求的超时值(毫秒)。如果请求在超时值到期之前仍未完成,则中止请求并且调用错误回调函数(如果已定义)

global

布尔型

启用或禁用全局函数的触发。这些函数可以附加到元素上,并且在Ajax调用的不同时刻或状态下触发。默认启用全局函数触发

contentType

字符串

将要在请求上指定的内容类型。默认为application/x-www-form-urlencoded(与表单提交所使用的默认类型相同)

success

函数

如果请求的响应指示成功状态码,则这个函数被调用。响应体作为第一个参数被返回给这个函数,并且根据指定的dataType属性进行。第二个参数是包含状态码的字符串—这种情况下永远为成功状态码

error

函数

如果请求的响应返回错误状态码,则这个函数被调用。三个实参被传递给这个函数:XHR实例、状态消息字符串(在这种情况下永远为错误状态码)以及XHR实例所返回的异常对象(可选)

complete

函数

请求完成时被调用。两个实参被传递:XHR实例和状态消息字符串(成功状态码或错误状态码)。如果也指定了success或error回调函数,则这个函数在success或error回调函数调用之后被调用

beforeSend

函数

在发起请求之前被调用。这个函数被传递XHR实例,并且可以用来设置自定义的标头或执行其他预请求操作

async

布尔型

如果指定为false,则请求被提交为同步请求。在默认的情况下,请求是异步的

processData

布尔型

如果设置为false,则阻止已传递数据被加工为URL编码格式。默认情况下,数据被加工为URL编码格式(适用于类型为application/x-www-form-urlencoded的请求)

ifModified

布尔型

如果设置为true,则自从上一次请求以来,只有在响应内容没有改变的情况下(根据Last-Modified标头)才允许请求成功。如果省略,则不执行标头检查

下面看个例子,尽可能多的用到options中的选项

客户端代码:

<html xmlns="">

<head>

<title></title>

<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>

<script type="text/javascript">

$().ready(function(){

$('#selectNum').change(function(){

var idValue=$(this).val();

var show=$('#show');

$.ajax({

url:'Server.aspx',

type:'POST',

data:{ id: idValue},

//调小超时时间会引起异常

timeout: 3000,

//请求成功后触发

success: function(data){ show.append('success invoke!'+ data+'<br/>');},

//请求失败遇到异常触发

error: function(xhr, errorInfo, ex){ show.append('error invoke!errorInfo:'+ errorInfo+'<br/>');},

//完成请求后触发。即在success或error触发后触发

complete: function(xhr, status){ show.append('complete invoke! status:'+ status+'<br/>');},

//发送请求前触发

beforeSend: function(xhr){

//可以设置自定义标头

xhr.setRequestHeader('Content-Type','application/xml;charset=utf-8');

show.append('beforeSend invoke!'+'<br/>');

},

//是否使用异步发送

async: true

})

});

})

</script>

</head>

<body>

<select id="selectNum">

<option value="0">--Select--</option>

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

</select>

<p id="show"></p>

</body>

</html>服务端主要代码:

protected void Page_Load(object sender, EventArgs e)

{

if(!Page.IsPostBack)

{

if(Request["id"]!= null&&!string.IsNullOrEmpty(Request["id"].ToString()))

{

//启用该句会引发ajax超时异常

// System.Threading.Thread.Sleep(3000);

Response.Write(GetData(Request["id"].ToString()));

}

}

}

protected string GetData(string id)

{

string str= string.Empty;

switch(id)

{

case"1":

str+="This is Number 1";

break;

case"2":

str+="This is Number 2";

break;

case"3":

str+="This is Number 3";

break;

default:

str+="Warning Other Number!";

break;

}

return str;

}运行程序,结果如图:

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

jquery插件uploadify使用详解

jquery基础知识点使用详解

jQuery的使用方法

使用步骤如下:

1.jQuery给放到一个文件夹里面,方便我们待会引用这个jQuery,这里我就放到我项目的js文件夹里面。

2.然后我们来开始编辑HTML界面代码。

3.使用script标签把jQuery引入到我们的HTML界面。src引号里面的就是我们的jQuery路径名称。

4.接着再书写一个script标签对,里面写上jQuery入口函数,这样,当我们的HTML加载完成之后就会执行我们的jQuery代码

即将发布的jQuery3有哪些新特性_jquery

jQuery的横空出世,至今已有十个年头了,而它的长盛不衰显然不是没有理由的。jQuery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。

在未来的几周内,jQuery就将抵达一个重要的里程碑——正式发布 3.0版本。jQuery 3修复了大量的 bug,增加了新的方法,同时移除了一些接口,并修改了少量接口的行为。在这篇文章中,我将为大家重点讲解 jQuery 3所引入的那些最重要的变化。

新增特性

我们先来讨论 jQuery 3中最重要的几个新增特性。

for...of循环

在 jQuery 3中,我们可以用 for...of循环语句来迭代一个 jQuery集合中的所有 DOM元素。这种新的迭代方法是 ECMAScript 2015(即 ES6)规范中的一部分。这个方法可以对“可迭代对象”(比如 Array、Map、Set等)进行循环。

当使用这种新的迭代方法时,你在循环体内每次拿到的值并不是一个 jQuery对象,而是一个 DOM元素(译注:这一点跟.each()方法类似)。当你在对一个 jQuery集合进行操作时,这个新的迭代方法可以少许改善你的代码。

为了搞清楚这种迭代方法到底是怎么工作的,我们来假设一个场景——你需要给页面中的每个 input元素分配一个 ID。在 jQuery 3之前,你可能会这样写:

代码如下:var$inputs=$('input');for(var i= 0; i$inputs[i].id='input-'+ i;

}

而在 jQuery 3中,你就可以这样写了:

代码如下:var$inputs=$('input');var i= 0;

for(var input of$inputs){

input.id='input-'+ i++;

}

(译注:其实 jQuery自己是有个.each()方法的,可读性也不赖。)

$.get()和$.post()函数的新签名

jQuery 3为$.get()和$.post()这两个工具函数增加了新签名,从而使得它们和$.ajax()的接口风格保持一致。新签名是这样的:

代码如下:$.get([settings])

$.post([settings])

settings是一个对象,它包含多个属性。它的格式和你以前传给$.ajax()的参数格式是一样的。如果你想更清楚地了解这个参数对象,请参考$.ajax()页面中的相关描述。

$.get()和$.post()的参数对象与传给$.ajax()的参数相比,唯一的区别就是前者的 method属性总是会被忽略。原因其实也很简单,$.get()和$.post()本身就已经预设了发起 Ajax请求的 HTTP方法了(显然$.get()就是 GET,而$.post()就是 POST)。也就是说,正常人类应该是不会想用$.get()方法来发送一个 POST请求的。

假设有以下一段代码:

代码如下:$.get({

url:'',

method:'POST'// This property is ignored

//这个属性将被忽略});

不管我们把 method属性写成什么,这个请求总是会以 GET的方式发出去的。

采用 requestAnimationFrame()来实现动画

所有现代浏览器(包括 IE10及以上)都是支持 requestAnimationFrame的。jQuery 3将会在内部采用这个 API来实现动画,以便达到更流畅、更省资源的动画效果。

unwrap()方法

jQuery 3为 unwrap()方法增加了一个可选的 selector参数。这个方法的新签名是这样的:

代码如下:unwrap([selector])

有了这个特性,你就可以给这个方法传入一个包含选择符表达式的字符串,用它来在父元素内进行匹配。如果存在匹配的子元素,则这个子元素的父层将被解除;如果没有匹配,则不进行操作。

有变更的特性

jQuery 3还修改了一些特性的行为。

:visible和:hidden

jQuery 3将会修改:visible和:hidden过滤器的含义。只要元素具有任何布局盒,哪怕宽高为零,也会被认为是:visible。举个例子,br元素和不包含内容的行内元素现在都会被:visible这个过滤器选中。

因此,如果你的页面中包含如下的结构:

代码如下:

然后运行以下语句:

代码如下:console.log($('body:visible').length);

在 jQuery 1.x和 2.x中,你得到的结果会是 0;但在 jQuery 3中,你会得到 2。

data()方法

另一个重要的变化是跟 data()方法有关的。现在它的行为已经变得跟 Dataset API规范一致了。jQuery 3将会把所有属性键名转换成驼峰形式。我们来详细看一下,以如下元素为例:

代码如下:

当我们在用 jQuery 3以前的版本时,如果运行如下代码:

代码如下:var$elem=$('#container');

$elem.data({'my-property':'hello'});console.log($elem.data());

将会在控制台得到如下结果:

代码如下:{my-property:"hello"}

而在 jQuery 3中,我们将会得到如下结果:

代码如下:{myProperty:"hello"}

请注意,在 jQuery 3中,属性名已经变成了驼峰形式,横杠已经被去除了;而在以前的版本中,属性名会保持全小写,并原样保留横杠。

Deferred对象

jQuery 3还改变了 Deferred对象的行为。Deferred对象可以说是 Promise对象的前身之一,它实现了对 Promise/A+协议的兼容。这个对象以及它的历史都相当有意思。如果想要深入了解,你可以去阅读 jQuery官方文档,也可以去看我写的书《jQuery实战(第三版)》——这本书也涵盖了 jQuery 3。

在 jQuery 1.x和 2.x中,传给 Deferred的回调函数内如果出现未捕获的异常,会立即中断程序的执行(译注:即静默失败,其实 jQuery绝大多数回调函数的行为都是这样的)。而原生的 Promise对象并非如此,它会抛出异常,并不断向上冒泡,直至到达 window.onerror(通常冒泡的终点是这里)。如果你没有定义一个函数来处理这个错误事件的话(通常我们都不会这么做),那这个异常的信息将会被显示出来,此时程序的执行才会停止。

jQuery 3将会遵循原生 Promise对象的模式。因此,回调内产生的异常将会导致失败状态(rejection),并触发失败回调。一旦失败回调执行完毕,整个进程就将继续推进,后续的成功回调将被执行。

为了让你更好地理解这个差异,让我们来看一个小例子。比如我们有如下代码:

代码如下:var deferred=$.Deferred();

deferred

.then(function(){ throw new Error('An error');

})

.then( function(){ console.log('Success 1');

}, function(){ console.log('Failure 1');

}

)

.then( function(){ console.log('Success 2');

}, function(){ console.log('Failure 2');

}

);

deferred.resolve();

在 jQuery 1.x和 2.x中,只有第一个函数(也就是抛出错误的那个函数)会被执行到。此外,由于我们没有为 window.onerror定义任何事件处理函数,控制台将会输出“Uncaught Error: An error”,而且程序的执行将中止。

而在 jQuery 3中,整个行为是完全不同的。你将在控制台中看到“Failure 1”和“Success 2”两条消息。那个异常将会被第一个失败回调处理,并且,一旦异常得到处理,那么后续的成功回调将被调用。

SVG文档

没有哪一个 jQuery版本(包括 jQuery 3)曾官方宣称支持 SVG文档。不过事实上有很多方法是可以奏效的,此外还有一些方法在以前是不行的(比如操作类名的那些方法),但它们在 jQuery 3中也得到了更新。因此,在 jQuery 3中,你应该可以放心使用诸如 addClass()和 hasClass()这样的方法来操作 SVG文档了。

已废弃、已移除的方法和属性

在增加了上述改进的同时,jQuery也移除、废弃了一些特性。

废弃 bind()、unbind()、delegate()和 undelegate()方法

jQuery在很久以前就引入了 on()方法,它提供了一个统一的接口,用以取代 bind()、delegate()和 live()等方法。与此同时,jQuery还引入了 off()这个方法来取代 unbind()、undelegated()和 die()等方法。从那时起,bind()、delegate()、unbind()和 undelegate()就已经不再推荐使用了,但它们还是一直存在着。

jQuery 3终于开始将这些方法标记为“废弃”了,并计划在未来的某个版本(很可能是 jQuery 4)中将它们彻底移除。因此,请在你的项目中统一使用 on()和 off()方法,这样你就不用担心未来版本的变更了。

移除 load()、unload()和 error()方法

jQuery 3彻底抛弃了 load()、unload()和 error()等已经标记为废弃的方法。这些方法在很早以前(从 jQuery 1.8开始)就已经被标记为废弃了,但一直没有去掉。如果你正在使用的某款插件仍然依赖这些方法,那么升级到 jQuery 3会把你的代码搞挂。因此,在升级过程中请务必留意。

移除 context、support和 selector属性

jQuery 3彻底抛弃了 context、support和 selector等已经标记为废弃的属性。同上,在升级到 jQuery 3时,请留意你正使用的插件。

已修复的 Bug

jQuery 3修复了以往版本中的一些非常重要的 bug。在本节中,我将着重介绍其中两处,因为这两者应该会对你写代码的习惯带来显著影响。

width()和 height()的返回值将不再取整

jQuery 3修复了 width()、height()和其它相关方法的一个 bug。这些方法的返回值将不再舍入取整,因为这种取整行为在某些情况下不便于对元素进行定位。

我们来详细看一看。假设你一个宽度为 100px的容器元素,它包含了三个子元素,宽度均为三分之一(即 33.333333%):

代码如下:

My name

is

Aurelio De Rosa

在 jQuery 3以前的版本中,如果你尝试通过以下代码来获取子元素的宽度??

代码如下:$('.container div').width();

??那么你得到结果将是 33。原因在于 jQuery会把 33.33333这个值取整。而在 jQuery 3中,这个 bug已经被修复了,因此你将会得到更加精确的结果(即一个浮点数)。

wrapAll()方法

jQuery 3还修复了 wrapAll()方法中的一个 bug,这个 bug出现在把一个函数作为参数传给它的情况下。在 jQuery 3以前的版本中,当一个函数被传给 wrapAll()方法时,它会把 jQuery集合中的每个元素单独包裹起来。换句话说,这种行为和把一个函数传给 wrap()时的行为是完全一样的。

在修复这个问题的同时,还引入了另外一个变更:由于在 jQuery 3中,这个函数只会调用一次了,那就无法把 jQuery集合中每个元素都传给它。因此,这个函数的执行上下文(this)将只能指向当前 jQuery集合中的第一个元素。

如何下载 jQuery 3 beta 1

既然你已经读到了这里,那说明你很可能想试试 jQuery 3的第一个 beta测试版。你可以通过以下两个地址来获取这个版本:

未压缩版:

压缩版:

当然,你还可以通过 npm来下载:

[code]npm install jquery@3.0.0-beta1[/code]

结论

很多人一直在唱衰 jQuery,说它在现代网页开发中已经没有一席之地了。但不管怎样,jQuery的开发仍在继续,客观的统计数据(在排名前一百万名的网站中占有率高达 78.5%)也让这些论调不攻自破。

在本文中,我已经带你了解了一遍 jQuery 3将会带来的一些重大变化。或许你已经察觉到了,这个版本并不太可能搞挂你的既有项目,因为它引入的破坏性变更其实寥寥无几。不过,在升级到 jQuery 3的过程中,你还是有必要牢记一些关键点,比如 Deferred对象的改进等等。同样,在升级某个第三方库时,也有必要检查一下该项目的兼容性情况,以便尽早发现任何非预期行为,避免某些功能失效。

译注

除了本文所提及的变更之外,jQuery 3.0最大的变化就是彻底放弃对 IE8的支持。jQuery团队做出这个决定的原因在于,微软已经在今年年初宣布停止对 IE 8~10的支持。因此,jQuery在 3.0 alpha阶段所发布的 jQuery Compat项目也就没有继续存在的必要了。

不过,由于 IE8仍然是中国大陆最流行的浏览器之一,对国内的开发者来说,在短期(甚至中期)内还不得不停留在 jQuery 1.x版本。

好吧,最后还是说个好消息吧。为帮助用户平滑升级,此次 jQuery同样会为 3.0版本提供迁移插件(jQuery Migrate plugin)。在把 jQuery升级到 3.0之后同时运行这个插件,即可确保基于 jQuery 1.x或 2.x的既有业务代码正常运行;同时,它还将在控制台向你报告既有代码与 jQuery 3不兼容的地方。当你修复了这些不兼容问题之后,就可以安全地移除这个插件了。

关于jquery下载地址和怎么下载jquery的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

c语言编译器有哪些 c语言开发的软件有哪些纷争的种子怎么做 我的世界生存战争种子大全