繁体   English   中英

需要能够从yii2中的javascript方法获取返回字符串

[英]Need to be able to get the return string from javascript method in yii2

我正在使用Yii2,并且在使用Html :: a -hyperlink时要返回要发送的javascript方法的内容时遇到问题

javascipt是​​为了获取复选框的选定值,并且正在正确输出。

 <script> function getNewPermissions() { var permissions = ''; var rows = $(document).find('.permission'); $.each(rows, function (key, value) { if($(value).find('input').prop('checked') == true) permissions += value.id+'$&/'; }) permissions = permissions.substring(0, permissions.lastIndexOf("$&/")); return permissions; } </script> 
 echo Html::a(Yii::t('app', 'Edit'), ['permissions/edit' ,'id'=> $name], [ 'class' => 'btn btn-primary', 'onclick' =>'js:getNewPermissions()', 'data-method' => 'post', 'data' => [ 'params' => ['newPerms'=>'js:getNewPermissions()','_csrf' => Yii::$app->request->csrfToken], ], ]) 

在yii1中,已从参数正确读取了该值。 只是找不到任何可帮助直接在params中获取js的资源,而onclick确实有效。

在我的项目中使用另一种方式

<a style="float:left;" class="btn btn-success" onclick="myFunction(this)" 
               type="<?php echo $value->id; ?>">
                                </a>

并在布局末尾使用js函数

<script>
            function updateSession(e)
            {
                var csrfToken = $('meta[name="csrf-token"]').attr("content");
                var pid = e.getAttribute('type');
                var key = e.getAttribute('title');
                var pqty = $("#id_" + key).val()

                $.ajax({
                    url: '<?php echo Yii::$app->urlManager->createAbsoluteUrl('/site/updatecard') ?>',
                    type: 'Post',
                    data: {
                        productid: pid,
                        key: key,
                        pqty: pqty,
                        _csrf: csrfToken
                    },
                    success: function (data) {

                        alert(data);
                        $.ajax({
                            url: '<?php echo Yii::$app->urlManager->createAbsoluteUrl('/site/getcard') ?>',
                            type: 'GET',
                            data: {
                                _csrf: csrfToken
                            },
                            success: function (data) {
                                $("#collapseCart").empty();

                                $("#collapseCart").append(data);
                            }
                        });

                        $.ajax({
                            url: '<?php echo Yii::$app->urlManager->createAbsoluteUrl('/site/getcardpage') ?>',
                            type: 'GET',
                            data: {
                                _csrf: csrfToken
                            },
                            success: function (data) {
                                $("#get_card2").empty();

                                $("#get_card2").append(data);
                            }
                        });

                    }
                });
            }
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM