您
dataType :json在AJAX设置中进行了设置,因此您应该
echo使用json对象而不是String(HTML)。
使用
exit()
代替
echo,然后将PHP放在页面的顶部。因此,在检查是否
$_POST['name']存在HTML之前,不会回显任何HTML 。
另一件事是,您
$data = array()将在该行上转换为字符串:
$data = 'You entered:' . $_POST['name'];
它应该是
$data[] = ...
<?php $data = array(); if(isset($_POST['name'])) { $data[] = 'You entered:' . $_POST['name']; exit(json_enpre($data));}?><head><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script><script> $(function() { $('form').submit(function(e) { e.preventDefault(); $.ajax({ type : 'POST', url : 'index.php', data: $(this).serialize(), dataType : 'json', enpre : true }) .done(function(data) { $('#result').html(data); }) }); }); </script></head><body> <form> <input type="text" name="name"> <input type="submit" value="Submit"> </form> <div id="result"></div></body>


