原生ajax POST請求
阿新 • • 發佈:2019-01-26
話不多說,看程式碼
var data = {//這種格式是需要轉成jsonstring的 action:action, diyid:diyid, do : _do, dede_fields:dede_fields, dede_fieldshash:dede_fieldshash, city:escape(city), area:area, model:escape(room+sitting+bathroom+kitchen+balcony), phone:phone } var data = 'action='+action+'&do='+_do+'&dede_fields='+dede_fields+'&dede_fieldshash='+dede_fieldshash+'&city='+city+'&area='+area+'&diyid='+diyid+'&model='+room+sitting+bathroom+kitchen+balcony+'&phone='+phone; var XHR=null; if (window.XMLHttpRequest) { // 非IE核心 XHR = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE核心,這裡早期IE的版本寫法不同,具體可以查詢下 XHR = new ActiveXObject("Microsoft.XMLHTTP"); } else { XHR = null; } if(XHR){ XHR.open("POST", "../plus/diy.php",true); XHR.onreadystatechange = function () { // readyState值說明 // 0,初始化,XHR物件已經建立,還未執行open // 1,載入,已經呼叫open方法,但是還沒傳送請求 // 2,載入完成,請求已經發送完成 // 3,互動,可以接收到部分資料 // status值說明 // 200:成功 // 404:沒有發現檔案、查詢或URl // 500:伺服器產生內部錯誤 if (XHR.readyState == 4 && XHR.status == 200) { // 這裡可以對返回的內容做處理 // 一般會返回JSON或XML資料格式 console.log(XHR.responseText); // 主動釋放,JS本身也會回收的 XHR = null; } }; // XHR.setRequestHeader("Content-type","application/json"); XHR.setRequestHeader("Content-type","application/x-www-form-urlencoded"); // XHR.send(JSON.stringify(data)); //如果是物件格式的資料就要轉換成jsonstring XHR.send(data); } });
好久不用原生了,用起來還是有些不習慣呢,哈哈哈