下面是我视图中的ajax脚本。
$js = <<< JS
$('.list-link').click(function(){
$.ajax({
url: '?r=public/getlist¶m1=01¶m2=02¶m3=03',
dataType: "json",
success: function(data) {
$(".well").html(data.id);
}
})
});
JS;
$this->registerJs($js);现在我的问题是如何使param1、param2和param3的值动态,就像我要将params1从php变量传递给3一样。
发布于 2016-02-01 15:26:17
你可以这样做:
$url = \yii\helpers\Url::to([
'public/getlist',
'param1' => '01',
'param2' => '02',
'param3' => '03'
]);
$js = <<< JS
$('.list-link').click(function(){
$.ajax({
url: $url,
dataType: "json",
success: function(data) {
$(".well").html(data.id);
}
})
});
JS;
$this->registerJs($js);当然,您也可以将参数的数量设置为动态的,因为它只是一个传递给Url::to()的数组。
有关使用的Heredoc (允许变量使用)语法的官方信息可以在here中找到。
发布于 2016-02-01 15:40:53
robsch的方法很棒(上面的答案)。
但是你也可以这样做:
$js = <<< JS
$('.list-link').click(function(){
$.ajax({
url: '?r=public/getlist&param1=$one&param2=$two&param3=$three',
dataType: "json",
success: function(data) {
$(".well").html(data.id);
}
})
});
JS;
$this->registerJs($js);其中$one、$two和$three是PHP变量。
,别忘了用
&替换上面$js变量中的Javascript文本代码字符串中的&。它不容易出错,也是
的好实践。
https://stackoverflow.com/questions/35124829
复制相似问题