2017-03-19 19 views
-1

いくつかのWebサイト(クライアント)にアクセスし、情報を取得して私のホームサイトに戻すjavascriptスクリプトを作成しています。すべてのウェブサイトが少し異なるので、私は純粋なjavascriptでこれを行う必要があります。私はそれを動作させる方法は、情報を収集し、それは私が働いているオブジェクトに格納し、window.location.hrefでホームサイトに送信することです。各サイトで利用可能なものが分からないと(JQueryがないなど)、これの最良の方法は何ですか?hrefを使用してjavascriptオブジェクトを送信するには

送信しているページは、PHPスクリプトです。

オブジェクトの例。

var obj = { 
    page_on:window.location.pathname, 
    loadtime:loadtime, 
}; 

は、それから私は、私は今だその場合は、上記のコードが動作していない

function sendHome(obj) { 
    window.location.href="http://domainname.com/handleinfo/obj 
} 

(私は別の場所で再利用できる)機能で家を送りたいです。私はobjで何かする必要があります。私はjavascriptで本物ではない。

ありがとうございました

+1

二つの主要な問題:1.あなたは 'ナビゲートしますwindow.location.href'を設定した場合、ここで

はCORSがサーバー上で有効になっている与えられた、データを送信するためのスクリプトのサンプルですユーザーはそのページに移動し、表示しようとしている場所から離れているので、Ajaxを使用してください。 2.オブジェクトを送信することはできませんが、そのオブジェクトをJSONにシリアル化してJSONを送信できます。 – nnnnnn

+0

セキュリティ上の理由からAjaxを使用することはできませんが(https://en.wikipedia.org/wiki/Same-origin_policy)、[JSONP](https://en.wikipedia.org/)を使用できる可能性があります。 wiki/JSONP)。 – Tigger

答えて

0

まずオブジェクトをシリアル化する必要があります。その後、XMLHttpRequestを使用してサーバーにデータを送信できます。

あなたのサーバーが、JavaScriptを実行したいウェブサイトとは異なるドメインにある場合(そのように思えます)、サーバー上でCORSも有効にする必要があります。

var obj = { 
    url: window.location.href, 
    loadTime: loadtime 
}; 

var req = new XMLHttpRequest(); 
req.open('POST', 'https://yourdomain.com/track'); 
req.setRequestHeader("Content-Type", "application/json"); 
req.send(JSON.stringify(obj)); 
関連する問題