使用AJAX将变量发送到PHP

时间:2016-01-12 10:37:12

标签: php jquery ajax

我有一个变量,我想发送到代码之上的PHP代码,但我一直收到错误undefineddTotaal是变量名称,它包含一个数字。所有这些代码都在同一页面中,所以我发布到同一页面。

$('#emailVerzenden').click(function() {
    $.ajax({
        url: "content.php",
        type: "post",
        data: ({
            totaal: dTotaal
        }),
        success: function(msg) {
            alert('Data saved: ' + msg);
        },
        error: function(error) {
            alert("couldnt be sent " + error); 
        }
    });

在我的页面顶部,我有这个代码。我不确定它是否正确,我是新手。

if(isset($_POST['emailVerzenden']))
{
    $totaal = $_POST['totaal'];
    var_dump($totaal);
}

我想要的是将totaal数据的值放在$totaal中,但这不起作用。数据未发送。我一直收到错误alert()

4 个答案:

答案 0 :(得分:0)

在PHP代码中,您正在检查变量是否存在以使用另一个变量。对我来说应该是:

if(isset($_POST['totaal']))
{
$totaal= $_POST['totaal'];
var_dump($totaal);
}

答案 1 :(得分:0)

您处于正确的轨道,但使用PHP代码分隔jQuery代码,然后您就可以完全控制异步处理数据。

<强>的index.php

  $('#emailVerzenden').click(function()
        {
            $.ajax
            ({
                url: "content.php",
                type: "post",
                data:{totaal: dTotaal},
                success: function(msg)
                {
                    alert('Data saved: ' + msg);
                },
                error: function(error)
                {
                    alert("couldnt be sent ".error); 
                }
            });

在你的php文件中首先检查是否设置了$_POST数据

<强> content.php

 if(isset($_POST))
  { 
    $totaal= $_POST['totaal'];
   var_dump($totaal);
 }

答案 2 :(得分:0)

提及您希望以html&amp; amp;给它一个ID。

 <div id="total"> HERE COMES THE VARIABLE YOU WISH TO SEND </div>

然后按照下面的ID <div>选取document.getElementById('total').value中的数据:

var total=document.getElementById('total').value;

<script> var total=document.getElementById('total').value;  
  $.post('content.php',
        {'total':total},
        function(response){ 
            if(response == 'YES'){}
          });
</script>

希望这能解决您的问题。祝你好运!

答案 3 :(得分:0)

看起来我没有使用preventDefault(),这就是为什么它不起作用。

$('#emailVerzenden').click(function(e)
        {
            cms=$('#sCms').val();
            templates= $('#templates').val();
            onderdelen = $('input:checkbox:checked').map(function() {
    return this.value; 
}).get();
            email = $('#email').val();
            e.preventDefault();
            $.ajax
            ({
                type: "POST",  
                url:"test.php", 
                data:{postEmail : email,postOnderdelen : onderdelen,postCms : cms,postTotaal : postTotaal, postTemplates : templates}, 
                success: function(rs)   
                {
                    alert("Data saved:" + rs);
                },
                error: function(error)
                {
                    alert("couldnt be sent" + error); 
                }
            }); 
            e.preventDefault(); 
        });