400 186 1886
OA教程
經(jīng)驗(yàn)分享
安裝指引
工作流
ERP教程
經(jīng)驗(yàn)分享
銷售管理
采購(gòu)管理
生產(chǎn)管理
倉(cāng)庫(kù)管理
工程管理
品質(zhì)管理
財(cái)務(wù)管理
模切知識(shí)交流
經(jīng)驗(yàn)分享
技術(shù)文檔
PMS教程
CRM教程
開(kāi)發(fā)文檔
其他文檔
MIS教程
MAS教程
EBR教程
企業(yè)管理
微信好文
讀書(shū)沙龍
無(wú)題
網(wǎng)站管理員
你的無(wú)刷新技術(shù)是用的Ajax還是iframe?
當(dāng)前位置:
點(diǎn)晴教程
→
知識(shí)管理交流
→
『 技術(shù)文檔交流 』
admin
2011年1月22日 21:37
本文熱度 3650
1. 一直用iframe代替Ajax
15.38%
(2)
2. 一般用Ajax,文件上傳用iframe
23.08%
(3)
3. 一直用Ajax,文件上傳可以用flash上傳
61.54%
(8)
您所在的用戶組沒(méi)有投票權(quán)限
本帖最后由 我為ぁ琴狂 于 2010-8-22 11:44 編輯
現(xiàn)在我碰到一些問(wèn)題很糾結(jié):
1,全都用Ajax,文件上傳可以用flash上傳,但是Ajax提交表單總感覺(jué)挺麻煩的
2,全都用iframe,似乎不能符合W3C文檔標(biāo)準(zhǔn)(不知道怎樣去符合)
3,一般用Ajax,文件上傳用iframe,這個(gè)discuz就是這樣做的
iframe替代ajax方案:
1.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無(wú)標(biāo)題文檔</title>
<script type="text/javascript">
function ajax(settings) {
var div = document.createElement("div"), successed = false, iframeId = "i" + new Date().getTime();
div.style.display = 'none';
div.innerHTML = '<iframe id="' + iframeId + '" name="' + iframeId + '"></iframe>';
document.body.appendChild(div);
var hiddenIframe = document.getElementById(iframeId);
if(settings.form) {
settings.form.action = settings.url;
settings.form.target = iframeId;
settings.form.submit();
} else {
hiddenIframe.src = settings.url;
}
var fetchData = function() {
var doc = document.all ? window.frames[iframeId].document : hiddenIframe.contentDocument;
settings.callback(doc.body.innerHTML);
successed = true;
}
settings.loader();
setTimeout(function() {
if(!successed) {
alert('Resquest timeout!');
fetchData = new Function();
}
}, settings.timeout);
if (document.all){
hiddenIframe.attachEvent("onload", fetchData);
} else {
hiddenIframe.onload = fetchData;
}
}
function A() {
ajax({
form: document.getElementById('f'),
url: '1.php',
loader: function() {},
timeout: 3000,
callback: function(data) {
alert(data);
}
})
return false;
}
function B() {
ajax({
url: '1.php',
loader: function() {},
timeout: 3000,
callback: function(data) {
alert(data);
}
})
return false;
}
</script>
</head>
<body>
<form id="f" method="post" onsubmit="return A()">
<input type="text" name="word" value="123" />
<input type="submit"/>
</form>
<button onclick="B()">get_send</button>
</body>
</html>
復(fù)制代碼
1.php
<?php
echo json_encode(array($_POST))
?>
復(fù)制代碼
該文章在 2011/1/22 21:37:11 編輯過(guò)
全部評(píng)論
3
admin
2011年1月22日 21:37
搜到的一些高手的見(jiàn)解 到現(xiàn)在ajax碰到的兩個(gè)比較大的問(wèn)題是 1)中文亂碼,這個(gè)貌似是編碼的問(wèn)題,基本上能夠解決,但是在某些比較低版本的瀏覽器中還是會(huì)出現(xiàn)一些問(wèn)題 2)跨域post提交數(shù)據(jù),這個(gè)貌似沒(méi)有辦法直接實(shí)現(xiàn),只能通過(guò)代理或其他方式來(lái)實(shí)現(xiàn) 而這兩個(gè)問(wèn)題iframe基本都不會(huì)碰到,但是iframe的問(wèn)題在于 1)你想同時(shí)進(jìn)行多少個(gè)請(qǐng)求,就必須建立多少個(gè)iframe~否則無(wú)法同時(shí)進(jìn)行 2)iframe的方式處理的是iframe頁(yè)面的內(nèi)容,交互成功的觸發(fā)方式主要靠a)頁(yè)面定時(shí)讀取頁(yè)面加載狀態(tài);b)iframe觸發(fā)父頁(yè)面的事件。a)方式必然導(dǎo)致對(duì)客戶端資源的較多占用,b)方式導(dǎo)致返回?cái)?shù)據(jù)的增加,而且必須保證父頁(yè)和框架頁(yè)的變量和方法的統(tǒng)一。而這點(diǎn)上面,ajax交互過(guò)程中僅僅返回所需要的數(shù)據(jù)(xml或者text),這個(gè)是ajax相比iframe的最大優(yōu)勢(shì)之一。 當(dāng)然,有些簡(jiǎn)單的交互過(guò)程,或許用iframe解決會(huì)簡(jiǎn)單一些,例如我的站點(diǎn)有多個(gè)頻道,采用二級(jí)域名布局,這時(shí)候如果在a域名下要將數(shù)據(jù)post到b域名下,如果用ajax處理起來(lái)可能會(huì)很麻煩,但是iframe很簡(jiǎn)單就能實(shí)現(xiàn)了 至于實(shí)際應(yīng)用中,用iframe還是ajax,看實(shí)際需求和個(gè)人喜好吧~~ 在有的地方比如點(diǎn)擊出現(xiàn)一個(gè)浮動(dòng)操作窗口,用iframe比用ajax方便的多。個(gè)人感覺(jué)用戶體驗(yàn)比ajax還要好,ajax總有頓一下的感覺(jué),iframe的方式響應(yīng)非常快。但是一點(diǎn)擊瀏覽器的后退按鈕就露馬腳了,用iframe會(huì)把每次操作當(dāng)作一次點(diǎn)擊鏈接記錄到歷史記錄中。ajax還能做很多其它iframe做不了的事
該評(píng)論在 2011/1/22 21:37:46 編輯過(guò)
admin
2011年1月22日 21:39
哥用ajax用的很少,幾乎不怎么用,適當(dāng)用用還是有益的,用多了就有些過(guò)度依賴了
該評(píng)論在 2011/1/22 21:39:04 編輯過(guò)
admin
2011年1月22日 21:39
什么方便就用什么
該評(píng)論在 2011/1/22 21:39:21 編輯過(guò)
關(guān)鍵字查詢
技術(shù)
相關(guān)文章
正在查詢...
Copyright 2010-2025
ClickSun
All Rights Reserved
黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲一区精品自拍偷拍
|
在线观看片免费观看不卡
|
亚洲精品第一国产综合精品
|
亚洲综合网站精品一区二区
|
亚洲精品欧美视频在线观看
|
亚洲精品亚洲字幕
|