Javascript 使用Python请求的JSON post
我在Windows7上使用Python2.7和请求模块 我试图从一个使用AJAX/javascript驱动事件的网站上找到一些数据的来源 以下是我的python帖子:Javascript 使用Python请求的JSON post,javascript,jquery,python,json,post,Javascript,Jquery,Python,Json,Post,我在Windows7上使用Python2.7和请求模块 我试图从一个使用AJAX/javascript驱动事件的网站上找到一些数据的来源 以下是我的python帖子: result = s.post(url, headers = {'referer': my_referer}) 此帖子的输出如下所示: {"ADATA":{"COUNT":0.0,"AITEM":[]},"WM":0.0,"CM":0.0,"PC":"","PW":"","NC":14,"RR":false,"RTIME":{"
result = s.post(url, headers = {'referer': my_referer})
此帖子的输出如下所示:
{"ADATA":{"COUNT":0.0,"AITEM":[]},"WM":0.0,"CM":0.0,"PC":"","PW":"","NC":14,"RR":false,"RTIME":{"RITEM":[],"COUNT":0.0},"WC":1.0,"CC":1.0,"RW":false,"RA":false,"RC":true}
“AITEM”:[]
应该填充我要查找的所有数据,但正如您所看到的那样。另外,RC:
应该是false
。或者至少当我浏览我的浏览器时是这样
请注意,如果使用get而不是post请求,我会得到“RA”:true
和“RC”:false
。我不知道为什么
以下是javascript服务器端的相应帖子:
$.getJSON (url, function(data){UpdateStuff(data);});
免责声明:我已经编程一周了
据我所知,这个JSON post在一个函数中不接收任何参数,也不返回任何内容<代码>数据未在post之前的函数中引用。我真的不明白什么是函数(数据)
UpdateStuff(data)
是另一个函数,它包含一组代码,这些代码获取数据
,但不返回任何内容。代码通过引用揭示了有关数据结构的一些内容,例如:
if (data.RA){resetAL();} else {
if (data.RR ){objAR.attr('ref','Y');}
if (data.RC ){objAC.attr('ref','Y');}
if (data.RW ){objAW.attr('ref','Y');}
我想我没有通过这个逻辑门,因为我的数据与我在成功的浏览器请求中看到的不同
以及对data.ADATA.COUNT
和data.ADATA.AITEM[i]
等的引用
有人告诉我,用JS编写这个程序要简单得多,但我已经用python编写了大约70%的程序,而且我从未使用过JS
非常感谢您的帮助 返回数据时调用
getJSON
的函数参数,因此它与发送的内容无关。请注意,getJSON
意味着它是一个GET,而不是POST,我明白了。这是否意味着getJSON
的输出存储在数据中,然后传递给UpdateStuff(data)
?如果我理解正确,虽然它是getJSON,但实际上有数据通过url发送到服务器function(data){UpdateStuff(data);}
将作为getJSON数据参数no发送,而不是全部。如果有数据,它将作为对象参数传递到第二位。调用该函数的结果是从服务器返回的。我更改了请求的参数以包括cookies,并删除了引用项:s.post(url,data=cookies)
,它现在正在工作。感谢您的输入Danielt返回数据时会调用getJSON
的函数参数,因此它与发送的内容无关。请注意,getJSON
意味着它是一个GET,而不是POST,我明白了。这是否意味着getJSON
的输出存储在数据中,然后传递给UpdateStuff(data)
?如果我理解正确,虽然它是getJSON,但实际上有数据通过url发送到服务器function(data){UpdateStuff(data);}
将作为getJSON数据参数no发送,而不是全部。如果有数据,它将作为对象参数传递到第二位。调用该函数的结果是从服务器返回的。我更改了请求的参数以包括cookies,并删除了引用项:s.post(url,data=cookies)
,它现在正在工作。谢谢你的意见,丹尼尔