OK Here is how to make both GET and POST requests in vanilla javascript, i.e no third-party libraries like jQuery, including how to set request headers:// Just to namespace our functions and avoid collisionsvar _SU3 = _SU3 ? _SU3 : new Object();// Does a get request// url: the url to GET// callback: the function to call on server response. The callback function takes a// single arg, the response text._SU3.ajax = function(url, callback){ var ajaxRequest = _SU3.getAjaxRequest(callback); ajaxRequest.open("GET", url, true); ajaxRequest.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); ajaxRequest.send(null);};// Does a post request// callback: the function to call on server response. The callback function takes a// single arg, the response text.// url: the url to post to// data: the json obj to post_SU3.postAjax = function(url, callback, data) { var ajaxRequest = _SU3.getAjaxRequest(callback); ajaxRequest.open("POST", url, true); ajaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajaxRequest.setRequestHeader("Connection", "close"); ajaxRequest.send("data=" + encodeURIComponent(data));};// Returns an AJAX request obj_SU3.getAjaxRequest = function(callback) { var ajaxRequest; try { ajaxRequest = new XMLHttpRequest(); } catch (e) { try { ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ return null; } } } ajaxRequest.onreadystatechange = function() { if (ajaxRequest.readyState == 4) { // Prob want to do some error or response checking, but for // this example just pass the responseText to our callback function callback(ajaxRequest.responseText); } }; return ajaxRequest;};像这样使用它:function processResponse(responseText) { // Response text is a json: var obj = JSON.parse(responseText) // won't work all browsers, there are alternatives // Do something with obj ....}var jsonToPost = .... // whatever your json isvar url = ... // the URL to post to_SU3.postAjax(url, processResponse, jsonToPost); 这篇关于如何发出 AJAX 请求以发布 JSON 数据并处理响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
09-12 09:55