使用带有PHP的ajax发送$ _POST数组?

时间:2013-09-21 00:36:47

标签: javascript php ajax

我有多个名为Change[xxx]的输入字段。最初的方式是单击更新按钮时,它通常会发送数据并更新数据库。但是,如果我使用Ajax,如何传递此Change[xxx]数据?我想这样做没有 jQuery。

HTML:

<input type='text' name='Change[name]' value='Bob' onblur='updateField($id)'></input>

在PHP中检索信息:

foreach($_POST['Change'] as $field => $value) {
    if($field == 'name') {
        // update database
    }
}

JavaScript:

使用request.send(...),我不知道如何发送数据。

function updateField(id) {
    …
    var url = 'orders.php?id='+ id;
    request.open('POST', url, true);
    request.setRequestHeader("Content-type","application/x-www-form-urlencoded");

    var val = document.getElementsByName("Change[name]")[0].value;
    request.send("id=" + id + "&Change[" + val + "]"); 
    …
}

1 个答案:

答案 0 :(得分:1)

与通常情况完全相同:

request.send("id=" + id + "&Change[name]=" + encodeURIComponent(val));

括号不是HTTP特有的,只有PHP。