2017-06-21 3 views
0

私のドメインのプロキシにdocument.body.innerHTMLを投稿する必要があります。そこPM2作業とその前に私がGETを使用し、それはのように見えている:私は、POST、私たちに必要な文字の制限があるので、今XHR document.bodyを保存するためのポストJS

var xhr = new XMLHttpRequest(); 
xhr.open('GET', 'https://domain.ru/pmproxy?info='+document.body.innerHTML+'&location='+document.location+1); 
xhr.send(); 

。これをPOSTにするにはどうすればよいですか?

+0

「POST」で「GET」を置き換えます。また、特殊文字を含むためにエラーが発生する前に、innerHTMLを 'encodeURIComponent'するのは良い考えです。 – Watilin

答えて

0

まず受信サーバ方式はポストを受け入れていることを確認し、あなたはXHRポスト内のデータを送信したい場合は、この

xhr.send("info='+document.body.innerHTML+'&location='+document.location+1")

またはサーバーがJSONオブジェクトを受け入れるならば、あなたはxhr.send(document.getElementById('#form).serialize());を使用することができるように行うことができます

-1

あなたはこれにそれを変換する必要があります

var xhr = new XMLHttpRequest(); 
xhr.open('post', 'https://domain.ru/pmproxy'); 
xhr.send('info='+document.body.innerHTML+'&location='+document.location+1); 

また、私はあなたが両方のパラメータをきれい示唆ので、あなたは、将来的に問題を回避することができます

xhr.send('info='+encodeURIComponent(document.body.innerHTML)+'&location='+encodeURIComponent(document.location+1)); 

さらに、あなたははdocument.location + 1を使っている理由は、私が本当に知りませんが、document.location.href使用し、1ので、あなたのコードを保存することができます外見がきれいです:

xhr.send('info='+encodeURIComponent(document.body.innerHTML)+'&location='+encodeURIComponent(document.location.href)); 
関連する問題