回答
在這裏,你走了,很簡單:
function createXHR()
{
var xhr;
if (window.ActiveXObject)
{
try
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
alert(e.message);
xhr = null;
}
}
else
{
xhr = new XMLHttpRequest();
}
return xhr;
}
文檔是here
例子:
var xhr = createXHR();
xhr.onreadystatechange = function()
{
if (xhr.readyState === 4)
{
alert(xhr.responseText);
}
}
xhr.open('GET', 'test.txt', true)
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.send()
更新:
爲了做到跨域腳本,你必須打電話出到本地服務器端代理(其讀取和Echo的遠程數據),或者,如果遠程服務返回JSON,使用這種方法:
由於JSON基本上是JavaScript對象或數組,這是一個有效的來源。理論上你應該能夠直接調用遠程服務。我沒有測試過這一點,但它似乎是一個公認的慣例:
哦,但現在我忘了:它應該是跨域:O – TomShreds 2010-08-12 19:23:42
哦,這是一個粗糙的。 [研究] – 2010-08-12 19:24:47
@Tom我會說,這是值得自己的問題。 – 2010-08-12 19:28:47
那麼...... jQuery可能比你想要的還要大,但它可以說仍然是一個非常好的選擇。它是有據可查的,很好的支持,如果你使用CDN鏈接
http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
它甚至很可能存在,並且已經緩存在客戶端的機器上。
所以... ...微小
var obj = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : (XMLHttpRequest && new XMLHttpRequest()) || null;
很多ajax。這樣的哇。 – samvv 2016-05-08 20:27:03
這裏是我的版本與異步回調Node.js的風格
https://gist.github.com/4706967
// tinyxhr by Shimon Doodkin - licanse: public doamin - https://gist.github.com/4706967
//
// tinyxhr("site.com/ajaxaction",function (err,data,xhr){ if (err) console.log("goterr ",err,'status='+xhr.status); console.log(data) });
// tinyxhr("site.com/ajaxaction",function (err,data,xhr){ if (err) console.log("goterr ",err,'status='+xhr.status); console.log(data) },'POST','value1=1&value2=2');
// tinyxhr("site.com/ajaxaction.json",function (err,data,xhr){ if (err) console.log("goterr ",err,'status='+xhr.status); console.log(data); console.log(JSON.parse(data)) },'POST',JSON.stringify({value:1}),'application/javascript');
// cb - function (err,data,XMLHttpRequestObject){ if (err) throw err; }
//
function tinyxhr(url,cb,method,post,contenttype)
{
var requestTimeout,xhr;
try{ xhr = new XMLHttpRequest(); }catch(e){
try{ xhr = new ActiveXObject("Msxml2.XMLHTTP"); }catch (e){
if(console)console.log("tinyxhr: XMLHttpRequest not supported");
return null;
}
}
requestTimeout = setTimeout(function() {xhr.abort(); cb(new Error("tinyxhr: aborted by a timeout"), "",xhr); }, 5000);
xhr.onreadystatechange = function()
{
if (xhr.readyState != 4) return;
clearTimeout(requestTimeout);
cb(xhr.status != 200?new Error("tinyxhr: server respnse status is "+xhr.status):false, xhr.responseText,xhr);
}
xhr.open(method?method.toUpperCase():"GET", url, true);
//xhr.withCredentials = true;
if(!post)
xhr.send();
else
{
xhr.setRequestHeader('Content-type', contenttype?contenttype:'application/x-www-form-urlencoded');
xhr.send(post)
}
}
tinyxhr("/test",function (err,data,xhr){ if (err) console.log("goterr ",err); console.log(data) });
可以probab使用omee。它是一個單獨的文件,其中包含許多常用的javascript函數,如ajax請求。
https://github.com/agaase/omee/blob/master/src/omee.js
提高一個Ajax請求你只需要調用 omee.raiseAjaxRequest
與參數
params-參數列表即摹參數1 = param1value &參數2 = param2value
網址 - 網址擊中服務器
FUNC-功能名稱將被稱爲回
connType - GET/POST。
您可以構建自己的jQuery版本,該版本只包含AJAX模塊。
https://github.com/jquery/jquery#how-to-build-your-own-jquery
https://github.com/jquery/jquery#modules
- 1. 小javascript/ajax/mysql聊天
- 2. Javascript小部件庫
- 3. 原型JavaScript Ajax FIFO隊列
- 4. 原型AJAX responsetext缺少javascript
- 5. JavaScript庫與簡單和全面的ajax小部件集
- 6. Javascript/Ajax圖片庫/檢索
- 7. 原型JavaScript庫能夠通過HTTPS處理AJAX請求嗎?
- 8. Ajax Minifier在縮小時打破JavaScript
- 9. 小型JavaScript懸停滑塊圖片庫在Firefox中不可用
- 10. 在JavaScript中編寫小型庫時遇到困難
- 11. 用於小型傳輸的Ajax或Websockets
- 12. JavaScript庫:jQuery與原型
- 13. 原型庫if循環JavaScript
- 14. 僅使用JavaScript Object Arrays創建一個小型可搜索數據庫。沒有AJAX,沒有PHP
- 15. 現有框架中的Javascript Ajax原型
- 16. 從原型轉換爲jQuery - javascript/ajax
- 17. ASP.Net AJAX不創建Javascript類型
- 18. 的JavaScript/AJAX車品牌/型號形式
- 19. 使用javascript原型的ajax請求
- 20. AJAX成功後調用Javascript庫
- 21. AJAX/MySQL,JavaScript - 數據庫和倒計時
- 22. 的jQuery和JavaScript AJAX數據庫查詢
- 23. 使用ajax與javascript放在數據庫
- 24. Javascript - Ajax
- 25. JavaScript中的小型FSM代碼
- 26. 構建一箇中/小型javascript程序
- 27. knockout.js從JavaScript庫加載小部件
- 28. HTML + Javascript數據庫小網站
- 29. 簡單的小部件JavaScript庫
- 30. AJAX - xmlhttp.responseText大小?
我看不出有什麼真正原因這兩個庫是行不通的。 – 2010-08-12 18:46:02
可能重複[如何使ajax調用沒有jQuery?](http://stackoverflow.com/questions/8567114/how-to-make-an-ajax-call-without-jquery) – parvus 2013-11-27 10:00:41
我甚至使用microajax中我的大型網站,但可能會轉移到jquery http://static.lastdates.com/package/microajax/test.html – 2014-09-13 03:35:39