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


AJAX call returns undefined in Header / form-data

我试图从一些自动生成的div(使用php)中获取内容,并将内容放在php文件中进行进一步处理。原因是我有计数器来计算每个div中的点击次数。现在,我遇到了一个问题。当我从php文件回显数据时,进行了调用,但在头文件的表单数据部分中没有定义,如果执行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是一个简单的回显。请建议。

假设你有一个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!';
?>

已排序。谢谢大家。问题是我没有尊重div的父->子模式。我所需要做的就是将所有内容包装到另一个div中。我真的不知道发生了什么,因为我正在从PHP中返回HTML代码。