2016-01-06 38 views
0

在Google Chrome的開發控制檯中提交表單後,會有一個XHR application/json類型的請求,將數據發佈到另一個服務器。使用JavaScript將請求負載存儲到localStorage

POST請求包含一個JSON數組,我試圖抓住其中一個參數並將其存儲在localStorage或sessionStorage中供以後使用。

是否可以在前端僅使用JavaScript?我正在考慮......當請求url爲http://example.com/service時,然後抓住JSON對象並選擇'name'元素並將其設置爲localStorage中的'name'鍵。

回答

0

您可以使用 「全局AJAX事件處理程序」,從jQuery的:

$(document).ajaxComplete(function(event, xhr, settings) { 
    if (settings.url === 'http://example.com/service') { 
    // do your processing - grab JSON (from XHR) and store it to localstorage 
    } 
}); 

也可以手動也補丁的XMLHttpRequest:

(function() { 

    var proxied = window.XMLHttpRequest.prototype.open; 

    window.XMLHttpRequest.prototype.open = function() { 
     console.log(arguments); 

     if (arguments[1].indexOf('/service') > -1) { 
      // do your processing 
     } 

     return proxied.apply(this, [].slice.call(arguments)); 
    }; 

})(); 
+0

我想ajaxComplete的,但我堅持只使用純粹的JavaScript。這就是我不知道如何從XHR請求中獲取JSON的地方。 – TheIntrepidSpiff

+0

您也可以直接使用XMLHttpRequest(全局),更新答案 –