我正在尝试从一些自动生成的 div(使用 php)获取内容并将内容放入 php 文件中以进行进一步处理。原因是我有计数器可以计算每个 div 中的点击次数。现在,我遇到了一个问题。当我回显 php 文件中的数据时,会进行调用,但 header 的表单数据部分中未定义,如果执行 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 是一个简单的 echo。请指教。
最佳答案
假设你有一个 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!';
?>
关于javascript - AJAX 调用在 header /表单数据中返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40562609/