2017-11-27 23 views
0

ajaxリクエストとそのPOSTデータを取得したいが、それを行う方法が見つかっていない。ajaxリクエストとそのPOSTデータの取得

私はXMLHttpRequest.prototype.openで試してきましたが、それを使ってPOSTデータをキャプチャする方法が見つかりませんでした。

私は、これは私がやりたいものですと仮定します

(function(open) { 
    XMLHttpRequest.prototype.open = function (method, url, async) { 
     this.addEventListener('readystatechange', function() { 
      if(url.indexOf("the-url-i-want-to-capture") !== -1 && this.readyState === 4 && this.status === 200) { 
       // do ... something ... with the POST data 
      } 
     }, false); 
     open.call(this, method, url, async); 
    }; 
})(XMLHttpRequest.prototype.open); 

答えて

0

あなたはネイティブAJAX XMLHttpRequestオブジェクトを操作しているときは、openにアクセスするためにプロトタイプを使用しますが、最初の変数を宣言して、すべての使用していませんopensendなど FormDataオブジェクトは文字列対応オブジェクト(ヒント:画像?)ではないため、データをインターセプトしてキャプチャできません。 GETメソッドを使用している場合にのみ、urlにデータが表示されます。返信用https://developer.mozilla.org/en-US/docs/Web/Guide/AJAX/Getting_Started

(function(open) { 
 
    // declare new http client 
 
    var req = new XMLHttpRequest(); 
 
    // define what to do after req finishes 
 
    req.onreadystatechange = function(){ 
 
    if(req.readyState === XMLHttpRequest.DONE) console.log(req.responseText); 
 
    }; 
 
    // start our POST req 
 
    req.open('POST', 'https://jsonplaceholder.typicode.com/posts?test', true); 
 
    // sent it 
 
    req.send(); 
 
})();

+0

ありがとう:あなたはPOSTリクエスト

からの応答を確認するため

は、私はあなたがすべての詳細を始めるには、このページを参照してください例を追加しましたしかし、私は本当に(外部、種類の)ajaxリクエストをどのように取得するのか分からない:https://developer.mozilla.org/en-US/docs/Web/Guide/AJAX/Getting_Started 私はコードを変更したくない(第三者の)スクリプトによって作成されたajaxリクエストをキャプチャしています。 リクエストはキャプチャされましたが残念ながらリクエストのPOSTデータにアクセスできない。 –

+0

これはあなたがやろうとしているのと似ています:https://stackoverflow.com/questions/18606305/accessing-formdata-values –

+0

返信いただきありがとうございます。しかし、フォームからデータを取得しようとしているわけではありません。データをAjaxリクエストから取得しようとしています。 –

関連する問題