0

ページにAJAXスクリプトを含むYIIビューがあります

        <script>
            $(".tasks-add").click(function(){
                $.ajax({
                    type: 'get',
                    url: '<?php echo $this->createUrl('field')?>',
                    data: {
                        index: 1
                          },
                    });
                });
        </script>

現在、このJSは通常のURL style(http://myapp/task/field?index=1)で呼び出しを行っていますが、YII urlManagerを使用して、以下を使用してURLの「パス」スタイルを最適化しています。

'urlManager'=>array(
              'urlFormat'=>'path',
              'showScriptName'=>false,

AJAXによって要求されたURLが古い醜い?arg = value1スタイルであるため、「不正な要求エラー」が発生します。AJAX呼び出しURLに次のようなクエリ文字列を持たせないようにする方法はありますか?index=1http://myapp/task/field/index/1

4

3 に答える 3

2

YIIの方法

<script>
        $(".tasks-add").click(function(){
            $.ajax({
                type: 'get',
                url: '<?php echo $this->createUrl('field',array('index'=>1));?>'
            });
    </script>

また

<script>
        $(".tasks-add").click(function(){
            <?php echo CHtml::ajax(array(
                 'url'=>array('field','index'=>1),
                 'type'=>'get',
              ));?>
            });
    </script>
于 2013-03-08T16:37:52.640 に答える
1

URL 文字列を連結するだけです。jQuery ajax は、デフォルトで、GET を使用してデータを含めるときにクエリ文字列パラメーターを追加します。

于 2013-03-08T15:28:17.570 に答える
1

はい。手動で行います。

    <script>
        $(".tasks-add").click(function(){
            $.ajax({
                type: 'get',
                url: '<?php echo $this->createUrl('field')?>'+'/index/1'
            });
    </script>
于 2013-03-08T15:29:50.807 に答える