この記事では、ネイティブ JS に基づいて独自に作成した Ajax リクエスト関数を共有します。必要な友人はそれを参照してください。
通常、Web ページを作成する場合、Ajax リクエスト サーバーを使用する場合は、JQuery およびその他のカプセル化されたリクエスト サーバーを使用します。 . 呼び出すライブラリ、比較的シンプル。
しかし、通常、これらのライブラリには多くの関数が含まれており、単一の関数で単純なページを作成する必要がある場合は、そのような巨大なライブラリ ファイルを参照する必要はありません。
独自の Ajax リクエスト関数を簡単に実装できます。具体的なコードは次のとおりです。
var ajax = {}; ajax.x = function () { if (typeof XMLHttpRequest !== 'undefined') { return new XMLHttpRequest(); } var versions = [ "MSXML2.XmlHttp.6.0", "MSXML2.XmlHttp.5.0", "MSXML2.XmlHttp.4.0", "MSXML2.XmlHttp.3.0", "MSXML2.XmlHttp.2.0", "Microsoft.XmlHttp" ]; var xhr; for (var i = 0; i < versions.length; i++) { try { xhr = new ActiveXObject(versions[i]); break; } catch (e) { } } return xhr; }; ajax.send = function (url, method, data, success,fail,async) { if (async === undefined) { async = true; } var x = ajax.x(); x.open(method, url, async); x.onreadystatechange = function () { if (x.readyState == 4) { var status = x.status; if (status >= 200 && status < 300) { success && success(x.responseText,x.responseXML) } else { fail && fail(status); } } }; if (method == 'POST') { x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); } x.send(data) }; ajax.get = function (url, data, callback, fail, async) { var query = []; for (var key in data) { query.push(encodeURIComponent(key) + '=' + encodeURIComponent(data[key])); } ajax.send(url + (query.length ? '?' + query.join('&') : ''), 'GET', null, callback, fail, async) }; ajax.post = function (url, data, callback, fail, async) { var query = []; for (var key in data) { query.push(encodeURIComponent(key) + '=' + encodeURIComponent(data[key])); } ajax.send(url,'POST', query.join('&'), callback, fail, async) };
使用法: GET
ajax.get('/test.php', {foo: 'bar'}, function(response,xml) { //success }, function(status){ //fail }); POST ajax.post('/test.php', {foo: 'bar'}, function(response,xml) { //succcess },function(status){ //fail });
ここで注意する必要がある問題があります。以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
Ajax コールバック関数のパラメーターを渡す正しい方法以上がネイティブJSでAjaxリクエスト関数を書くの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。