0

次のコードを使用します。

echo CHtml::dropDownList('book', 0, CHtml::listData($books,'id','title'),
                     array(
                        'ajax' => array(
                        'type'=>'GET', 
                        'url'=>$this->createUrl('book/allcatalog'), 
                        'data'=>array('book'=>'js:this.value'),
                        'dataType'=>'json',
                        'success'=>'js:function(data){
                            console.log(data);
                        }'
                    )));    

firebug では、ajax リクエストが「www.xxxx.com/index.php/book/allcatalog?book=1&_=1365306810200」であることがわかりました。パラメータ _=1365306810200 があるのはなぜですか?

4

1 に答える 1

3

DCoder の助けに感謝します。

最後に、この質問の説明をJQuery.ajax()ドキュメントから見つけました。

> cache (デフォルト: true、dataType 'script' および 'jsonp' の場合は false) タイプ: ブール値 false に設定すると、要求されたページがブラウザによってキャッシュされないように強制されます。注: キャッシュを false に設定すると、HEAD および GET リクエストでのみ正しく機能します。GET パラメータに「_={timestamp}」を追加することで機能します。このパラメーターは、GET によって既に要求された URL に対して POST が行われる IE8 を除いて、他のタイプの要求には必要ありません。

つまり、追加の「_」リクエスト パラメータは、デフォルトで cache=true の jquery によって生成されます。

于 2013-04-08T02:55:04.547 に答える