我在页面
中有一个带有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请求的网址是旧的丑陋?arg = value1 style 。是否有可能使AJAX调用URL不具有?index=1
之类的查询字符串,而是像http://myapp/task/field/index/1
答案 0 :(得分:2)
YII方式
<script>
$(".tasks-add").click(function(){
$.ajax({
type: 'get',
url: '<?php echo $this->createUrl('field',array('index'=>1));?>'
});
</script>
OR
<script>
$(".tasks-add").click(function(){
<?php echo CHtml::ajax(array(
'url'=>array('field','index'=>1),
'type'=>'get',
));?>
});
</script>
答案 1 :(得分:1)
只需连接URL字符串即可。默认情况下,jQuery ajax会在使用GET并包含数据时附加查询字符串参数。
答案 2 :(得分:1)
是。手动完成。
<script>
$(".tasks-add").click(function(){
$.ajax({
type: 'get',
url: '<?php echo $this->createUrl('field')?>'+'/index/1'
});
</script>