为什么这个ajax调用只发送q和电子邮件?

时间:2014-07-04 18:52:44

标签: php jquery ajax

我已经写了以下ajax调用,但只发送了q和email参数,我已经尝试替换消息,因为我认为它可能是一个关键词,但仍然无法正常工作。我现在迷失了想法。

$.ajax({
    type: 'POST',
    url: '/ajax/functions.php',
    data: {
        q: 'need_help',
        email: $('input[name=email]').val(),
        message: $('input[name=message]').val()
    }
}).done(function(response) {
    console.log(response);
});

非常感谢任何帮助。

表格代码:

<div class='form-group col-sm-offset-3 col-sm-6'>
    <input class='form-control' type='email' name='email' placeholder='Your email'>
</div>

<div class='form-group col-sm-offset-3 col-sm-6'>
    <textarea class='form-control' name='message' placeholder='What is your problem?'></textarea>
</div>

<div class='form-group col-sm-offset-3 col-sm-6'>
    <input id='button_submit' type='submit' class='btn btn-primary form-control' value='Send' name='need_help' data-loading-text='Sending...'>
</div>

在您说它不在表单中之前,ajax调用是在提交按钮上的onClick中发出的,此时我只有ajax的空白文件,但我可以看到错误开发者网络标签。

3 个答案:

答案 0 :(得分:2)

您需要更改:

message: $('input[name=message]').val()

message: $('textarea[name="message"]').val()

答案 1 :(得分:1)

你的选择器错误了:

    message: $('input[name=message]').val()
                ^^^^^---input field

<textarea class='form-control' name='message' placeholder='What is your problem?'>
 ^^^^^^^^---but it's actually a textarea

请尝试$('textarea[name=message]')

答案 2 :(得分:0)

消息是一个textarea,而不是输入,尝试改变它,看看它现在是否显示。

message: $('textarea[name=message]').val()