我正在尝试将json对象从javascript发送到python webservice。但该服务始终将其视为字符串。以下是客户端和服务器端代码:
客户端:
$("#button").click(function () {
$.ajax({
type: "POST",
url: "http://localhost:8079/add",
data: JSON.stringify([{'account_template': {
'external_id': 'l10n_harec.a' + $("input[id$=Text2]").val(),
'name': $("input[id$=Text1]").val(),
'code': $("input[id$=Text2]").val(),
'type': $("select[id$=accountType]").val(),
'reconcile': $("input[id$=Checkbox1]").val()
}, 'account_account': {
'code': $("input[id$=Text2]").val(),
'name': $("input[id$=Text1]").val(),
'type': $("select[id$=accountType]").val(),
'active': 'True',
'reconcile': $("input[id$=Checkbox1]").val()
}
}]),
dataType: "json",
});
});
服务器端:
class add:
def POST(self):
i = web.input()
print i
我可以在服务器端看到以下内容:
任何人都可以告诉我这里有什么问题吗?
答案 0 :(得分:1)
我不知道你正在使用什么模块,但我希望它总是以字符串形式传递。如果您需要字典,可以使用json.loads
来执行此操作:
import json
i = json.loads(web.data())
print type(i)