kk1*_*957 3 javascript python dictionary
在我的 Django 应用程序中的某个位置,我对我的视图进行了 Ajax 调用
$.post("/metrics", {
'program': 'AWebsite',
'marketplace': 'Japan',
'metrics': {'pageLoadTime': '1024'}
});
Run Code Online (Sandbox Code Playgroud)
在我的Python代码中,我有
@require_POST
def metrics(request):
program = request.POST.get('program', '')
marketplace = request.POST.get('marketplace', '')
metrics = request.POST.get('metrics', '')
reportMetrics(metrics, program, marketplace)
Run Code Online (Sandbox Code Playgroud)
python 中的函数metrics()
应该reportMetrics()
使用这些参数进行调用,然后这些参数应该进入日志文件。但在我的日志文件中,我没有看到“pageLoadTime”值 - 可能是因为它是作为字典传入的。将来我需要向其中添加更多项目,因此它需要保留为字典(而不是像前两个那样的字符串)。
将传入的 javascript 字典转换为 python 字典的最简单方法是什么?
将 javascript 字典作为 json 发送并导入 pythonjson
模块以将其拉出。您将使用 json.loads(jsonString)。
编辑 - 添加示例
$.post("/metrics", {
data: JSON.stringify({
'program': 'AWebsite',
'marketplace': 'Japan',
'metrics': {'pageLoadTime': '1024'}
})
});
Run Code Online (Sandbox Code Playgroud)
然后在python方面
import json
def metrics(request):
data = json.loads(request.POST.get('data'))
program = data.get('program','')
marketplace = data.get('marketplace','')
metrics = data.get('metrics','')
Run Code Online (Sandbox Code Playgroud)
我现在还没有一个好的方法来测试这个,但我相信它应该有效。您可能还需要检查某个字段是否为空,但我相信.get()
会为您处理。
归档时间: |
|
查看次数: |
1900 次 |
最近记录: |