AJAX调用在Header / form-data中返回undefined

时间:2016-11-12 11:58:21

标签: javascript php ajax

我试图从一些自动生成的div(使用php)获取内容,并将内容放在php文件中以供进一步处理。原因是我有计数器来计算每个div中的点击次数。现在,我遇到了一个问题。当我回显来自php文件的数据时,进行了调用,但是我在头文件的form-data部分中未定义,如果我执行var_dump($ _ POST)则为NULL。我几乎可以肯定我在使用AJAX调用时出错了。我至少在AJAX或Javascript中缺乏经验。有任何想法吗?代码粘贴在下面。感谢您的任何帮助/想法。 AJAX:

$(document).ready(function(e) {
    $("form[ajax=true]").submit(function(e) {
        e.preventDefault();
        var form_data = $(this).find(".test");
        var form_url = $(this).attr("action");
        var form_method = $(this).attr("method").toUpperCase();
        $.ajax({
            url: form_url, 
            type: form_method,      
            data: form_data,     
            cache: false,
            success: function(returnhtml){                          
                $("#resultcart").html(returnhtml); 
            }           
        });    

    });

});

PHP是一个简单的回声。请指教。

2 个答案:

答案 0 :(得分:1)

假设你有一个div

<div id="send_me">
    <div class="sub-item">Hello, please send me via ajax</div>
    <span class="sub-item">Hello, please send me also via ajax</span>
</div>

制作像

这样的AJAX请求
$.ajax({
    url: 'get_sorted_content.php',
    type: 'POST', // GET is default
    data: {
        yourData: $('#send_me').html()
        // in PHP, use $_POST['yourData']
    },
    success: function(msg) {
        alert('Data returned from PHP: ' + msg);
    },
    error: function(msg) {
        alert('AJAX request failed!' + msg);
    }
});

现在在PHP中,您可以按以下方式访问传递的数据

<?php
// get_sorted_content.php
if(!empty($_POST['yourdata']))
    echo 'data received!';
else
    echo 'no data received!';
?>

答案 1 :(得分:0)

它排序了。谢谢大家。问题是我没有尊重父母的模式 - &gt; div的孩子。我需要做的就是将所有内容包装在另一个div中。我真的不知道这件事发生了,因为我正在回应PHP的HTML代码。