如何将字符串列表发布到GAE

时间:2010-12-04 14:16:04

标签: jquery python ajax google-app-engine

如何使用jQuery正确地将字符串列表发布到Google App Engine应用程序?我创造了这样的东西:

$.post("/add", {tags:['first tag','second tag','third tag']}

然后在FireBug中我发现它变成了这样的东西:

tags%5B%5D=first tag&tags%5B%5D=second tag&tags%5B%5D=third tag

我不确定我是否正确发送了一份清单。如果没关系,那么如何用Python处理这个列表呢? 我尝试使用这样的东西:

tagsList = self.request.get("tags")

但没有太大的成功。 感谢

2 个答案:

答案 0 :(得分:0)

一个简单的解决方案是在self.request.get("tags")中投射list()但是当我发送一个javascript数组时,这对我不起作用,但也许它适用于你的情况

答案 1 :(得分:0)

您可以将其序列化为JSON字符串,此字符串将被视为发布数据。

$.ajax({
    type: "POST",
    url: "/add",
    contentType: "application/json",
    data: JSON.stringify({tags:['first tag','second tag','third tag']}),

解析数据(例如Java):

    try {
        reader = request.getReader();
    } catch (final IllegalStateException illegalStateException) {
        reader = new BufferedReader(new InputStreamReader(
                request.getInputStream()));
    }

    String line = reader.readLine();
    while (null != line) {
        sb.append(line);
        line = reader.readLine();
    }
    reader.close();

    String tmp = sb.toString();
    if (Strings.isEmptyOrNull(tmp)) {
        tmp = "{}";
    }

    return new JSONObject(tmp);