0

我有多个带有名称的输入字段Change[xxx]。原来的方式是当点击更新按钮时,它通常会发送数据并更新数据库。Change[xxx]但是如果我使用 Ajax,我该如何传递这些数据呢?我想在没有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 + "]"); 
    …
}
4

1 回答 1

1

与您通常的做法完全相同:

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

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

于 2013-09-21T00:38:25.370 回答