当尝试使用jQuery和AJAX在页面之间进行通信时,我遇到了一个奇怪的错误。我根本无法让$ .post()函数起作用!
$(document).ready(function() {
$('#form').submit(function() {
$.post('test.php', {'name': 'joey', 'age': 12}, function(data){
alert(data);
});
return false;
});
});
test.php的:
<php?
print_r($_POST);
?>
当我这样做时会发生什么事情我得到了[object XMLDocument]的警报,但是如果我添加'text'作为post中的最后一个参数,它会使用该文件的完整php代码进行警报。
我的问题是我打电话的时候:
$.post('test.php', {'name': 'joey', 'age': 12}, function(data){
$('#content').html(data);
});
这会在firebug上出现错误。 'content'是一个div。当我执行.html('test')时它会起作用,但如果我执行.html(数据)则不行。
知道我做错了吗?
修改 这是一个包含我整个项目的dropbox文件夹(如3个文件),如果有人可以花3-4分钟查看它,它会帮助我一吨!我被困在这里几天
答案 0 :(得分:2)
<php?
print_r($_POST);
?>
应该阅读
<?php
print_r($_POST);
?>
我认为php被解释为XML节点,但显然它不是有效的html
答案 1 :(得分:1)
无所谓,但请尝试将数据类型设置为'html'
$.post('test.php', {'name': 'joey', 'age': 12}, function(data){
$('#content').html(data);
}, 'html');
或尝试使用.load()
$('#content').load('test.php', {'name': 'joey', 'age': 12});
你可能还想尝试在引号中加入12,只是为了规范...
$('#content').load('test.php', {'name': 'joey', 'age': '12'});
答案 2 :(得分:0)
我在回复方面有点迟,但可能是你有无效的json?
{'name': 'joey', 'age': 12}
应该是
'{"name": "joey", "age": "12"}'