【问题标题】:serializeArray not sending the dataserializeArray 不发送数据
【发布时间】:2014-08-26 23:47:26
【问题描述】:

这是 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'] 时,我收到错误“未定义索引:imageid”。 回显 $_POST['comment-area'] 时没问题。

为什么一个有效而另一个无效?

谢谢

【问题讨论】:

    标签: php jquery ajax post


    【解决方案1】:

    尝试使用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);
            }
        });
    });
    

    【讨论】:

    • 与我的样品有什么不同?
    • 仍然无法回显 $get_image = $_POST['imageid'];我试过使用 echo $get_image = $_POST['imageid'];回声 $get_image = $_POST['name'];回声 $get_image = $_POST['value'];回声 $get_image = $_POST['id'];没有成功
    • 我尝试发送到控制台 console.log(params);我可以看到'imageid'是未定义的..至少我到了某个地方
    • @Marco 很高兴它有帮助
    猜你喜欢
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    • 2016-08-29
    • 2022-01-11
    • 2014-05-28
    • 2013-08-24
    相关资源
    最近更新 更多