0

我有一个项目的复选框列表。我需要将我的数据库更新为选择了哪些项目。项目列表是动态显示的。

问题是如何通过 ajax 传递 ID 列表?

这是我的ajax代码:

function update(form,div,PhpFile,type)
{
if (request)
    {
        var obj = document.getElementById(divId);
        request.open("POST",PhpFile);
        //setting the header
        request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

        request.onreadystatechange = function()
        {   
            if (request.readyState == 4 &&
                    request.status == 200){
                obj.innerHTML =request.responseText;
            }
        }

        if(type=='news')
            request.send(?????);

    }
}

我已经标记了???我不知道该放什么的空间。

当然,我可以单独更新每个复选框,但这是一个非常糟糕的解决方案。

4

3 回答 3

1

PHP 5 可以解码 JSON,在 JS 中你需要使用一个库。这似乎是一个流行的答案。

在 jQuery 中序列化为 JSON

和 PHP 中的 JSON http://www.php.net/manual/en/function.json-decode.php

于 2012-04-10T18:45:06.737 回答
0

我认为您可以在 JavaScript 中序列化数组,使用 AJAX 将其作为字符串传递,然后在 PHP 中对其进行反序列化。要么将数组值转换为分隔字符串(逗号或管道分隔),然后在 PHP 中分解该字符串。这使您传输的数据具有人类可读性,这对于调试非常有用。

于 2012-04-10T18:40:30.933 回答
0

使用 将数组转换为 JSON JSON.stringify(),发送它,然后使用 将 JSON 字符串转换回 PHP 中的对象json_decode()

于 2012-04-10T18:41:18.137 回答