gpt4 book ai didi

request - 如何从 Pyramid 中的 post 请求中检索 json 数据?

转载 作者:行者123 更新时间:2023-12-05 00:25:25 24 4
gpt4 key购买 nike

Pyramid :

class ProjectorViews(Layouts):

def __init__(self, request):
self.request = request

@view_config(renderer="json", name="updates.json", request_method="POST")
def updates_view(self):
print self.request.params

JS :
$(function() {

function get_updates () {
data = JSON.stringify({'a':1});
$.post('/updates.json', data, function(res) {
});
}, 'json').done(function() {

});
}

get_updates();
});

控制台显示 self.request.params返回 NestedMultiDict([('{"a":1}', u'')])
如何获取 中的键和值NestedMultiDict 目的?

如果我这样做 self.request.params.getall("a") ,它报告
KeyError: "Key not found: 'a'"

如果我这样做 self.request.json_body ,它报告
ValueError: No JSON object could be decoded

最佳答案

$.post()总是用 application/x-www-form-urlencoded 发送数据内容类型。使用 $.ajax()以正确的内容类型发送数据:

$.ajax({
url: url,
type: "POST",
data: data,
contentType: "application/json; charset=utf-8",
dataType: "json"
}).done(...);

在 Pyramid 一侧 request.json_body是正确的访问方式……好吧,请求的 JSON 正文。

关于request - 如何从 Pyramid 中的 post 请求中检索 json 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24377380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com