ajax赢了';t将第二个数据值传递给PHP

ajax赢了';t将第二个数据值传递给PHP,php,javascript,ajax,jquery,Php,Javascript,Ajax,Jquery,这是我的密码 $('input[name="add-message-post"]').click(function() { $.ajax({ type: 'POST', url: 'addpost.php', data: { message_name: $('input[name="new-message-name"]').val(), message_content: $('input[name="new-message-content

这是我的密码

$('input[name="add-message-post"]').click(function() {
    $.ajax({
        type: 'POST',
        url: 'addpost.php', 
        data: { message_name: $('input[name="new-message-name"]').val(), message_content: $('input[name="new-message-content"]').val() }
    })
    .done(function(data) {
        $(data).hide().prependTo('#messages').fadeIn('slow');
    });
});
如果我在
addpost.php上打印($\u POST)
,它只显示
$\u POST['message\u name']


它还应该传递消息内容

您确定
$('input[name=“new message content”]')。val()
返回预期值吗?哇,我甚至没想到检查这个。我以为它只会传递一个空值。这就是问题所在<代码>消息内容是文本区域,而不是输入。抱歉,伙计你确定名为“new message content”的输入存在吗?如果没有,则“消息内容”将是未定义的。JSON数据中未定义的值不会包含在发布的数据中。@NoypeScripter:分配给
数据的值是一个对象,而不是JSON。如果传递了一个对象,jQuery将调用
jQuery.param
将其转换为查询字符串。但是,jQuery似乎在某个时候从对象中过滤出
未定义的
值,因为未定义的值不会出现在查询字符串中:。我就是这么说的,jQuery ajax不会在
数据
对象中提交
未定义的
值。