JAvascript高度なプログラム設計:ajaxのプラグイン
1664 ワード
1、xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");この設定はpostメソッドのみです
2、x-requested-with XMLHttpRequestはAjax非同期要求方式でrequestを使用する.getHeader("x-requested-with");nullであれば、従来の同期要求である.XMLHttpRequestの場合、Ajax非同期リクエストです.
呼び出し方法:
2、x-requested-with XMLHttpRequestはAjax非同期要求方式でrequestを使用する.getHeader("x-requested-with");nullであれば、従来の同期要求である.XMLHttpRequestの場合、Ajax非同期リクエストです.
function ajax (url, parms) {
parms = parms || {};
var req = new XMLHttpRequest(),
post = parms.post || null,
callback = parms.callback || null,
timeout = parms.timeout || null;
req.onreadystatechange = function () {
if ( req.readyState != 4 ) return;
// Error
if ( req.status != 200 && req.status != 304 ) {
if ( callback ) callback(false);
return;
}
if ( callback ) callback(req.responseText);
};
if ( post ) {
req.open('POST', url, true);
req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
} else {
req.open('GET', url, true);
}
req.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
req.send(post);
if ( timeout ) {
setTimeout(function () {
req.onreadystatechange = function () {};
req.abort();
if ( callback ) callback(false);
}, timeout);
}
}
呼び出し方法:
ajax('dataset.php?start=' + +start + '&count=' + +count, {
callback: function (data) {
data = JSON.parse(data);
myScroll.updateCache(start, data);
}
});