我有一个JavaScript函数,可收集两个数组,图像路径和标题。
我想将PHP的帖子发送到同一页面$ _SERVER ['PHP_SELF'],但我真的不知道从哪里开始。

PHP:

if (isset($_POST['Submit'])) {
    $edit_photos->update_xml($edit_photos->album_id, $_POST['src_arr'], $_POST['caption_arr']);
    // prevent resending data
    header("Location: " . $_SERVER['PHP_SELF'] . "?ref=" . $ref);
}


JS:

function getImgData() {
    var imgData = { 'src_arr': [], 'caption_arr': []};
    $('.album img').each(function(index){
        imgData.src_arr.push($(this).attr('src'));
        imgData.caption_arr.push($(this).attr('alt'));
    });
    return imgData;
};


HTML:

<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'] . "?ref=" . $ref; ?>">

最佳答案

我要说的过程是这样的:


将一些隐藏字段添加到表单中,为要发送的每个变量添加一个(并非绝对必要,您以后也可以使用javascript / jquery添加隐藏字段)。
在您的javascript收集信息,序列化对象和数组(更改和/或添加,取决于您是否已在步骤1中添加隐藏表单字段)时,使用javascript更改这些隐藏值的值。
从php中的$_POST获取值,然后反序列化对象和数组。

10-06 10:19