1
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">

$(document).ready( function () { //The page has been loaded...
    var ref = document.referrer; //Referrer
    var curpg = document.location.href; //Current page URL
    var dataSet = 'ref=' + ref + '&curpg=' curpg + '&shizz1e=21';

    $.ajax({
        type: "GET",
        url: "http://www.domainname.com/ajaxreceiver.php",
        data: dataSet
    });
    return false;
});
</script>

ユーザーの介入なしに、ページが読み込まれるとすぐに、「curpg」、「ref」、および「shizz1e」変数をajaxreceiver.phpに送信しようとしています。また、ページを更新したり、クライアントをajaxreceiver.phpにリダイレクトしたりしないようにしています。このコードが機能しない理由はわかりません。dataSet変数がajaxreceiver.phpに送信されることはありません。

4

3 に答える 3

0

パラメータとしてURLを送信する場合は、encodeURI()またはencodeURIComponent()関数を使用して、URL内の特定の文字をエスケープする必要があります。

于 2012-08-20T09:30:12.840 に答える
0

1)リクエストが実際に送信されることを確認します-networktabを確認し、それらのハンドラーを追加してデバッグヘルプを取得します。

$.ajax({/*...*/})
   .done(function()  { console.log("success"); })
   .fail(function(jqXHR, status)  { console.log("error: "+status); })
   .always(function(){ console.log("complete"); });

2)誤って禁止されたクロスドメイン通話をしましたか?http://www.domainname.comこれは、http://domainname.comこの問題を引き起こす一般的な例です。代わりに実際のパスを使用してください:/ajaxreceiver.php十分です。

3)phpコードを提供して、そこでエラーをチェックできるようにします。おそらくあなたは誤って使用[POST]したか、そのような小さな間違いをしました。

于 2012-08-20T09:32:01.953 に答える
0

JavaScriptコードは私には問題ないように見えるので、サーバー側のPHPコードを確認する必要があります。私はそれがうまくいくはずだと思います。

ただし、次のように書き直してみてください。

<script type="text/javascript" src="/path/to/jquery.js"></script>
<script type="text/javascript">
    $(document).ready( function () {
        var referrer = document.referrer;
        var current_page_url = $(location).attr('href');
        var data_object = {
            'ref':        referrer,
            'curpg':      current_page_url,
            'shizz1e':    '21'
        };

        $.ajax({
            'url':        "http://your.url.com/php_script.php",
            'data':       data_object,
            'success':    function (return_data) {
                // Do something on success.
            }
        });
    });
</script>

私の意見では、これは少しすっきりしています。サーバー側のPHPコードの一部を見せてください。そうすれば、何が問題になっているのかを見つけるのに本当に役立ちます。

于 2012-08-20T10:55:16.063 に答える