【问题标题】:i am trying to pass 3 variables in javascript [codeigniter post method]我正在尝试在 javascript [codeigniter post 方法] 中传递 3 个变量
【发布时间】:2018-03-07 07:52:47
【问题描述】:

这是一个点赞按钮,与数据库相连。但它只需要第一个变量“storyid”。

<script type="text/javascript">
function savelike(storyid, username, autid)
{
        $.ajax({
                type: "POST",
                url: "<?php echo site_url('site/homecontroler/savelikes');?>",
                Data: "Storyid="+storyid,
                success: function (response) {
                 $("#like_"+storyid).html(response+" Likes");

                }
            });
}
</script>
 <p style="    width: 10%;float: left;"><a onclick="javascript:savelike(<?php echo $Data['postid'];?>, <?php echo $Data['firstname'];?>, <?php echo $this->session->userdata('userproid'); ?>);">
     <i class="fa fa-thumbs-up" style="font-size: 25px; color: cornflowerblue;"></i> 
     <span id="like_<?php echo $Data['postid'];?>">
        <?php if($Data['likes']>0){echo $Data['likes'].' Likes';}else{echo 'Like';} ?>
     </span></a>
    </p> 

【问题讨论】:

  • 也许你想问个问题?
  • 你不能将字符串发送到你的函数,你必须引用firstname,或者只是删除它们,因为你不使用它们。但你在问什么?

标签: javascript php html codeigniter


【解决方案1】:

你错过了Data中的用户名和autid

<script type="text/javascript">
function savelike(storyid, username, autid)
{
    $.ajax({
            type: "POST",
            url: "<?php echo site_url('site/homecontroler/savelikes');?>",
            Data: "Storyid="+storyid+"&username="+username+"&autid="+autid,
            success: function (response) {
             $("#like_"+storyid).html(response+" Likes");

            }
        });
}
</script>

在 Html 中将值作为字符串传递,在 firstname 和 autid 中缺少 ''

<p style="    width: 10%;float: left;"><a onclick="javascript:savelike(<?php echo $Data['postid'];?>, '<?php echo $Data['firstname'];?>', '<?php echo $this->session->userdata('userproid'); ?>');">
 <i class="fa fa-thumbs-up" style="font-size: 25px; color: cornflowerblue;"></i> 
 <span id="like_<?php echo $Data['postid'];?>">
    <?php if($Data['likes']>0){echo $Data['likes'].' Likes';}else{echo 'Like';} ?>
 </span></a>
</p> 

【讨论】:

  • 你有savelike函数中的storyid、username、autid值吗?
  • 参数应该在javascript方法中引用,可能有另一个错误尝试控制台参数
  • 我试图创建两个函数一个是函数 savelike(storyid) 另一个是函数 savelike(storyid, username, autid) 值自动转到第一个函数.. 但我在 html 中传递 a3 值..
  • 您可以将此 savelike(storyid, username, autid) 用于脚本并在 html 中传递空字符串,例如 onclick=" savelike(, '', '');"
【解决方案2】:

抱歉,我在移动设备上的格式。尝试像这样定义要发送的数据:

data: {
    storyid: storyid,
    username: username,
    ...
}

如果这不起作用,请创建控制台日志以查看您是否正在获取变量。如果你不是,那么问题就很明显了。

PS 你也没有正确引用你的第一个参数(postid)!

【讨论】:

    猜你喜欢
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    相关资源
    最近更新 更多