javascript - 将特定的 Javascript 变量传递给 PHP

标签 javascript php jquery

我在 PHP 中有一个多维 session 数组($_SESSION['playlist']['ID1']$_SESSION['playlist']['ID2'] ETC),其中 ID 存储为值。在 javascript 中,可以通过按下一个按钮来删除这些值,该按钮会将值传递给 PHP 中的一个函数,告诉它通过匹配给定 ID 和存储在数组中的 ID 从 session 数组中删除该值。我无法让它工作。 我的 JS 正在发送这个 $(wrapper).append("<?php delVid('"+vidID+"');?> ");但是 PHP 的行为就像 JS 正在发送一个字符串,我认为引号无论如何都会让它这样做,但这是我可以让变量甚至正确传输到 PHP 的唯一方法。 这是我的 PHP 函数

function delVid($id){
    foreach( $_SESSION['playlist'] as $key => $value ) {
            if($id == $value){
                unset( $_SESSION['playlist'][ $key ] );
            }
        sort($_SESSION['playlist'], SORT_NUMERIC);
    }
}

最佳答案

它并不像您想象的那样工作。使用 JQuery 附加 HTML 不会运行您的服务器端 PHP 脚本。所以它只是附加到 wrapper 的字符串,从代码执行的 Angular 来看没有任何意义。

要完成您想做的事情,您需要使用 Ajax 技术,该技术无需重新加载页面即可将数据传递到服务器。因此,您需要创建一个服务器端页面,该页面将接受您的 $id 参数并调用您的 delVid 函数。

// ajaxScript.php (pseudo code)
// I don't know what framework and routing scheme are you using,
// so just a raw code to show an idea

<?php       

function delVid($id) {
    foreach($_SESSION['playlist'] as $key => $value) {
        if($id == $value) {
            unset($_SESSION['playlist'][$key]);
        }
        sort($_SESSION['playlist'], SORT_NUMERIC);
    }
}

delVid($_POST['id']);

然后您需要编写 JS 代码,该代码将在某些事件上向该页面执行 Ajax 请求。 JQuery 有$.ajax$.get$.post 等有用的方法来实现它。

jQuery(document).ready(function($){ 
  $(document).on("click",".remove", function(){ 
    var vidID = $(this).parent('div').parent('div').attr('id');             
    $(this).parent('div').parent('div').fadeOut();
    $.post('/ajaxScript.php', {id:vidId});
  }); 
});

关于javascript - 将特定的 Javascript 变量传递给 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28061727/

相关文章:

javascript - 当光标位于文本字段内时如何编写按键事件

将我的 slider 向左或向右滑动的 Javascript Action

javascript - iOS websql 限制

php - fatal error : Class 'Swift_smtpTransport' not found in

php - 如何求和N次(HH :MM Format)?

php - 我需要帮助来设置 Facebook 应用程序

javascript - "Refreshing"JQuery 日期选择器小部件

javascript - 如何使搜索栏中的微弱单词在您单击/键入时消失?

JavaScript 检查表单是否为空

jQuery 平滑内容滑动