国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > AJAX > 正文

Jquery Ajax請(qǐng)求文件下載操作失敗的原因分析及解決辦法

2024-09-01 08:28:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

jQuery確實(shí)是一個(gè)挺好的輕量級(jí)的JS框架,能幫助我們快速的開(kāi)發(fā)JS應(yīng)用,并在一定程度上改變了我們寫(xiě)JavaScript代碼的習(xí)慣。

廢話少說(shuō),直接進(jìn)入正題,我們先來(lái)分析一下失敗的原因

一、失敗的原因

那是因?yàn)閞esponse原因,一般請(qǐng)求瀏覽器是會(huì)處理服務(wù)器輸出的response,例如生成png、文件下載等,然而ajax請(qǐng)求只是個(gè)“字符型”的請(qǐng)求,即請(qǐng)求的內(nèi)容是以文本類型存放的。文件的下載是以二進(jìn)制形式進(jìn)行的,雖然可以讀取到返回的response,但只是讀取而已,是無(wú)法執(zhí)行的,說(shuō)白點(diǎn)就是js無(wú)法調(diào)用到瀏覽器的下載處理機(jī)制和程序。

二、解決方案

1)可以使用jquery創(chuàng)建表單并提交實(shí)現(xiàn)文件下載;

var form = $("<form>");form.attr("style","display:none");form.attr("target","");form.attr("method","post");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標(biāo)簽實(shí)現(xiàn)文件下載;

<a href=”下載地址”>點(diǎn)擊下載</a>

3)使用隱藏iframe或新窗體解決。

PS:AJAX請(qǐng)求 $.ajax方法的使用

使用jQuery的$.ajax方法可以更為詳細(xì)的控制AJAX請(qǐng)求。它在AJAX請(qǐng)求上施加細(xì)粒度級(jí)別的控制。

$.ajax方法語(yǔ)法

$.ajax(options)

參數(shù)

 

options

(對(duì)象)一個(gè)對(duì)象的實(shí)例,其屬性定義這個(gè)操作的參數(shù)。詳情見(jiàn)下表。

返回值

XHR實(shí)例

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 垣曲县| 自治县| 德兴市| 长沙县| 洛南县| 扶风县| 石门县| 邹平县| 田东县| 女性| 宝应县| 淮安市| 盐津县| 新平| 平远县| 随州市| 长葛市| 永定县| 卓资县| 股票| 罗平县| 南靖县| 海兴县| 江陵县| 通州区| 金乡县| 个旧市| 达尔| 呼伦贝尔市| 滦平县| 浦城县| 新兴县| 罗平县| 中方县| 饶河县| 乌兰察布市| 庆元县| 宾阳县| 精河县| 江源县| 莱芜市|