国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 清流县| 修武县| 儋州市| 定襄县| 宝山区| 贵州省| 和龙市| 普兰店市| 龙里县| 盖州市| 淅川县| 定西市| 仪征市| 濮阳县| 木兰县| 龙井市| 育儿| 密云县| 潍坊市| 玉龙| 台东县| 桂平市| 临江市| 东兴市| 芷江| 蛟河市| 成安县| 神池县| 齐齐哈尔市| 罗田县| 柳州市| 百色市| 富裕县| 明星| 盐津县| 泽州县| 鲜城| 兴安盟| 上犹县| 福泉市| 嵊州市|