如何通过Ajax将JavaScript变量转换为PHP

时间:2018-08-07 05:59:35

标签: javascript php ajax

其代码用于将javascript变量发布到php中... 但它不起作用..建议... 我想从javascript中获取ID的值并将其发布到php中。

<!DOCTYPE html>
<html>
    <body>
    <head>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script type="text/javascript">
        $( document ).ready(function() {
    $("form").submit(function() { 
        var id = $("input[type=submit]").attr('id');
        alert(id);
       $.ajax({
                type: 'post',
                url:('abcde.php')
                data: {id1: id},success: function(response){}
                alert(id1);
                  });
    });
     });
</script>
    </head>
        <form action="abcde.php" method="POST">
            <!-- other form fields -->
            <input type="submit" id="a" name="idVal" value="a">
        </form>
    </body>
</html>
<?php
if(isset($_POST['id']) ){
                            $id=$_POST['id'];
                        echo $id;
                        }
?>

1 个答案:

答案 0 :(得分:0)

哦,男孩,第一个:是

data: {'id': id}

其次,您的代码在这一部分上确实是错误的,您没有成功完成任何操作,只是随机地将alert()放入其中甚至不存在的变量。 因此,它应该是success: function(response){}而不是success: function(response){alert(response);},而忘记了alert(id1);

我从快速查看中发现的其他错误:您也正在通过AJAX和HTML提交表单。您应该在.submit(funcition(){...}的开头使用函数来阻止默认行为。已经有一个函数,但是我不记得了。

最后,您要将表单数据发送到您提交的同一页面。您会从AJAX得到与您所看到的页面相同的答案。您应该将php代码提取到另一个文件,并将abcde.php简化为简单的abcde.html文件。

最后一件事:您应该使用Console.log而不是警报,并注意浏览器的控制台进行调试。您会看到很多错误,这使调试变得更加容易。

您应该(而不是盲目地编码)更加注意对什么负责。您应该更多地考虑将代码引入的副作用。这将伴随经验,我们都去过那里。确保一件“事情”只负责一项任务。