利用js實現頁面跳轉,帶數據


抽點時間分享個小東西。

利用js來實現頁面跳轉。

 
結論:
js實現頁面跳轉,並帶數值過去;簡答有效的方式就是建立一個臨時form,用於數據傳輸。
起因系統要搞個操作日志記錄。點擊查看文件的排行榜,可以點擊直接查看。
 
 
系統中的文件分為兩種:
  • 一種是從其他網站爬過來的文章,將內容(建議存html,當然如果想要統一樣式的話就存純文本,分隔符等也存進去)存入數據庫中。查看文件時,將存入的內容之間貼到html相應的位置。
like this:
 效果感覺還可以的。
 
  • 還有一種是文件:doc,xlsx,pdf此類。
 
由於文件在不同欄目下,訪問地址或者說請求的接口不同。所以我就只記錄了訪問文件的url;
當初並沒有記錄此文件是在數據庫中還是磁盤文件中,事后發現沒必要記錄。
 
基本思路:查詢數據庫,得到排行榜。 點擊文件,ajax調用接口。
然后
這個時候要考慮的是,我應該怎么判斷他返回的是文件還是下載,以及How to do!
 
①、嘗試訪問
②、觀察返回結果
③、建立臨時form 或者 打開新窗口展示PDF文件或下載
 
文件a標簽,onclick事件
 
function showZXWJ(data1){
    //點擊時刷新最新表格的訪問量數據
    initTable(1,5);
    $.ajax({
        url: data1,
        success:function(data){
            if(data){
                var dataValue = data.items;
                var str = dataValue[0].content;
                var title = dataValue[0].lawsName;
                //將轉移字符,替換為html
                str = str.replace(/\n  /g,"<br/>  ");
                str = str.replace(/\r/g,"");
                str = str.replace(/\n/g,"<br/>");
                str = str.replace(/(^\s*)|(\s*$)/g,'');
                str = "  " + str;
                var url = <%=basePath%>+'shouyeShowFile.do';
                //建立一個臨時表,用於裝載ajax請求得到的數據,數據可能很大,所以肯定選的是post
                var form = $("<form></form>").attr("action", url).attr("method", "post");
                form.append($("<input></input>").attr("type", "hidden").attr("name","fileName" ).attr("value", title));
                form.append($("<input></input>").attr("type", "hidden").attr("name","content" ).attr("value", str));
                form.appendTo('body').submit().remove();
            } else {
                window.open(data1);
            }
        }
    });
}
 
先嘗試請求,當返回有值(因為系統接口中,所有關於查看下載的接口都沒有返回值,所以可以這樣判斷,或者你可以看返回的結果有沒有什么共通性)
時候,就建立臨時表單用於傳輸裝載數據。
否則開辟新窗口,下載OR展示。
 
form表單傳輸訪問的接口如下
@RequestMapping(value="shouyeShowFile.do")
	public String findOne(FileBean fileBean,Model model){
		
		model.addAttribute("vo", fileBean);
		
		return "shouyeFileShow";
	}
 
展示頁面,主要代碼如下:
<body>
<div class="contentxw" id="viewData" style="">
		<div class="padd">
			<div class="BreadcrumbNav">
				<span
					style="float: right; cursor: pointer; color: #1a72a5; font-size: 30x;"
					onclick="back()"><img src="images/icofh.png" alt=""
					align="center"></span>
			</div>
			<div class="article oneColumn pub_border" id="scrollDiv"
				style="overflow-y: auto; height: 450px;">
				<h1>
					<span id="title" style="font-weight: bold;font-size: 28px;">${vo.fileName}</span>
				</h1>
				<div class="pages-date">
					<span class="fontsj" id="wenHao"></span>
				</div>
				${vo.content}
			</div>
		</div>
	</div>
</body>
 
 
總結:
js實現頁面跳轉,並帶數值過去;簡答有效的方式就是建立一個臨時form,用於傳輸數據。
 
 
 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM