serializeArray不发送数据

时间:2014-08-26 23:47:26

标签: php jquery ajax post

这是php和javascript的示例。

<form id="image-comment" method="post" action="includes/insert_image_comment.php">
    <textarea id="comment-area" name="comment-area"></textarea>
</form>


// javascript
$("#image-comment").submit(function(event) {
    event.preventDefault();
    var action_url = event.currentTarget.action;
    var id = 4;
    var params = $("#image-comment").serializeArray();
    params.push({imageid: id});

    $.ajax({
        url: action_url,
        type: 'post',
        data: params,
        success: function(data) {
           alert(data);
        }
    });
});


// insert_image_comment.php
echo $get_image = $_POST['imageid'];
$comment = $_POST['comment-area'];

当回显$ _POST ['imageid']时,我收到错误'Undefined index:imageid'。 当回显$ _POST ['comment-area']时,没关系。

为什么一个有效,另一个没有?

由于

1 个答案:

答案 0 :(得分:2)

尝试使用serializeArray使用的格式:示例:

$("#image-comment").submit(function(event) {
    event.preventDefault();
    var id = 4;
    var params = $("#image-comment").serializeArray();
    params.push({name: 'imageid', value: id}); // this one

    $.ajax({
        url: document.URL,
        type: 'POST',
        data: params,
        success: function(data) {
           alert(data);
        }
    });
});