2013-04-01 37 views
0

我需要从网页上张贴JSON对象到GAE的Python的Python抓的jQuery。员额()

网站

$('#save').click(function() { 
    x = JSON.stringify(result); 
    $.post("/save_leads", x) 
    .done(function() {}) 
    .fail(function() { alert("error"); }) 
}); 

字符串化JSON对象的片段

[{"adrese":"Slokas 161, Rīga, LV-1067","nosaukums":"\"Akropolis\", apbedīšanas birojs","web":"www.akropoliss.lv","talrunis":"80005580","save":true},{"adrese":"Katlakalna 11c, Rīga, LV-1073","nosaukums":"DB Schenker Loģistikas Parks un Kravu Pasaule","web":"www.dbschenker.lv","talrunis":"67800087","save":true}] 

python

def save_leads(self): 
    results = self.request.get('x') 
    logging.info(len(results)) #logs as 0 :S 

到目前为止,我只使用html发布表单的内容,所以我不知道我是发布还是错误地发现它。

P.S:我宁愿在Python端

+1

我的猜测是,如果你想通过密钥x ..得到它..你应该将它作为数据对象'$ .post(“/ save_leads”,{x:x })'..或者如果你甚至不需要对它进行字符串化,只需执行'$ .post(“/ save_leads”,{x:result})' –

+0

字符串化版本'$ .post(“/ save_leads”,{x :x})'工作了! 对于非字符串版本的'len(x)'记录为0。这让我想知道是否$ .post(“/ save_leads”,{x:result})'实际上也起作用了,它是'len()',它不会无法使用JSON对象...必须检查它! –

+0

'result = json.load(self.request.get('x'))'结果在'AttributeError:'str'对象没有属性'read''。所以无论我是不是正在向JSON喂食JSON,或者是我必须始终把它串起来。无论如何 - 串化版本的作品,现在解决了我的问题。谢谢! –

回答

0

因此,这将让我json.loads()答案萨姆这一切。正确的答案是:

网络

$('#save').click(function() { 
    y = JSON.stringify(result); 
    console.log(result) 
    $.post("/save_leads", {x:y}) 
    .done(function() {}) 
    .fail(function() { alert("error"); }) 
}); 

服务器端

def save_leads(self): 
    result = self.request.get('x') 
    result = json.loads(result) 

如果我能找到一个职位,曾这样回答,我将不得不问。所以我希望这有助于其他jQuery -> post(JSON) -> Python newbs :)