1

php url参数的Javascript变量值是否可能?请参阅以下代码并给出建议如何做到这一点?html代码:

foreach($rd as $data){
            echo "<tr><td>".$data[role_name]."</td><td>".$data[role_description]."</td><td><a href=".$this->action('edit', $data['role_id']).">Edit</a></td><td>".$ih->button_js(t('Delete'), "deleteRole('".$data['role_id']."')", 'left', 'error')."</td></tr>";
        }

在这段代码中,我调用 JS 函数 deleteRole?(): 脚本:

function deleteRole(myvar) {
    if (confirm('<?php echo $delConfirmJS ?>')) {
       location.href = "<?php echo $this->url('/role/add_role/', 'delete', 'myvar')?>";
    }
}

在我的控制器页面中,我收到 myvar 作为字符串而不是值?控制器.php

public function delete($id){
    echo $id;
    exit;
    $delete = roleinfo::delete($id);
    $this->redirect('/role/add_role'); }

这个 echo print "myvar" 只是不是一个值?请建议我它的写作方式与否?否则怎么做?

谢谢库马尔

4

3 回答 3

4

您不能将 JS 变量直接发送或分配给 PHP 函数或变量,因为 JS 是一种客户端语言,而 PHP 是一种服务器端语言。

如果您想向您发送 JS 变量,一种方法是 - 您可以向服务器发送 ajax 请求,然后您的变量将在 php 中可用,并且可以使用它。

这是示例 ajax 格式:

$.ajax({
    cache: false,
    url: base_path + '{file_name_where_you_want_to_receive_that_value}',
    type: 'post',
    data: {
        myvar: myvar
    },
    success: function(data) {
        // when you provided url procedd the req. then success will call.

    }
})

并在 [file_name_where_you_want_to_receive_that_value] 将该值分配给某个变量并使用它。

于 2013-11-12T08:01:17.543 回答
1

你有表格或smthg吗?我想最简单的方法是使用隐藏字段,您只需通过 JS 修改值并使用 POST 将其发送到 PHP。它不是一种干净或专业的方式,但易于实施并完成其工作。

于 2013-11-12T07:45:58.157 回答
1

您可以发出的最简单的 AJAX 请求如下(为了简单起见,使用 jQuery,您可以搜索如何在没有 jQuery 的情况下发出 AJAX 请求):

function deleteRole(myvar) {
    $.ajax({
        url: "<?php echo $this->url('/role/add_role/', 'delete', 'myvar')?>",
    }).done(function(data) {
        console.log(data);
        $( this ).addClass( "done" );
    });
}

这将创建一个对指定 URL 的新请求,并基本上运行控制器操作。您将在 javascript 变量数据中获得请求响应。

更多信息在这里

于 2013-11-12T09:12:09.177 回答