トップページWEBAjax > Ajax.Requestでクエリー付URLを送信する

2007年12月 9日

Ajax.Requestでクエリー付URLを送信する

Category : Ajax

 いや~、はまったはまった。。。

 Ajax.Requestで現在のページのURLを送信しようとして以下のようなスクリプトを書いてみたのです。

var msec = (new Date()).getTime();
var url = 'http://www.multiburst.net/****/get.php';
var pars = 'url='+document.URL;

var myAjax = new Ajax.Request(
    url,
    {
        method: 'get',
        parameters: pars+"&c="+msec,
        onComplete: showResponse
    }
);



 が、普通の静的なページはいいのです。

仮に「http://hogehoge/index.php」というURLを表示したときは、きちんと、

http://www.multiburst.net/****/get.php?url=http://hogehoge/index.php

とリクエストされます。

 しかし動的なページ「http://hogehoge/index.php?offset=5」を表示したら、

http://www.multiburst.net/****/get.php?offset=5

とリクエストしてしまいました。

 なんでだろう~、といろいろ試してみた結果、URL中の「?」をURLエンコードしないとだめな感じです。

 結果、以下のようなスクリプトになりました。

var msec = (new Date()).getTime();
var url = 'http://www.multiburst.net/****/get.php';
var pars = 'url='+(document.URL).replace("?","%3f");

var myAjax = new Ajax.Request(
    url,
    {
        method: 'get',
        parameters: pars+"&c="+msec,
        onComplete: showResponse
    }
);



 う~ん、こんなことしなくても、もっとスマートなやり方ってあるんでしょうか?
 きっとあるんでしょうね~(^^;)


関連エントリー

トラックバックURL

このエントリーのトラックバックURL:

コメントする