0

我在页面中有一个带有 AJAX 脚本的 YII 视图

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

现在这个 JS 正在以普通的 URL 样式(http://myapp/task/field?index=1)进行调用,尽管我已经使用 YII urlManager 来优化 URL 的“路径”样式,使用:

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

我收到“错误请求错误”,因为 AJAX 请求的 URL 是旧的丑陋?arg=value1 样式。有没有办法让 AJAX 调用 URL 没有像?index=1但像这样的查询字符串http://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 回答