Python中文
首页
教程
问答
标签
搜索
登录
注册
jQuery GET JSON回调不起作用(即使使用有效的JSON),并且似乎在使用“OPTION”请求而不是“GET”
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>背景是,我有一个芹菜分布式作业服务器,配置了一个Django视图,该视图返回JSON中正在运行的作业的状态。作业服务器位于celleryserver.mydomain.com,我正在从中执行jQuery的页面是www.mydomain.com,因此我不需要考虑JSONP,因为请求不是针对不同的域的,所以我应该考虑JSONP?</p> <p>通过查看服务器日志,我发现jQuery每3秒执行一次<code>getJSON</code>调用(使用Javascript setInterval)。它似乎确实使用了一个选项请求,但是我已经用<code>curl</code>确认了对于这些请求类型仍然返回JSON。</p> <p>问题是,下面jQuery中的<code>console.log()</code>Firebug调用似乎从未运行过!getJSON调用之前的那个。没有回拨工作对我来说是个问题,因为我希望用这种方式来调查芹菜的工作状态,并根据工作状态来做各种事情。</p> <pre><code><script type="text/javascript"> var job_id = 'a8f25420-1faf-4084-bf45-fe3f82200ccb'; // wait for the DOM to be loaded then start polling for conversion status $(document).ready(function() { var getConvertStatus = function(){ console.log('getting some status'); $.getJSON("https://celeryserver.mydomain.com/done/" + job_id, function(data){ console.log('callback works'); }); } setInterval(getConvertStatus, 3000); }); </script> </code></pre> <p>我使用<code>curl</code>来确定从服务器接收到的内容:</p> <pre><code>$ curl -D - -k -X GET https://celeryserver.mydomain.com/done/a8f25420-1faf-4084-bf45-fe3f82200ccb HTTP/1.1 200 OK Server: nginx/0.6.35 Date: Mon, 27 Jul 2009 06:08:42 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: close {"task": {"executed": true, "id": "a8f25420-1faf-4084-bf45-fe3f82200ccb"}} </code></pre> <p>JSON在我看来很好,JSONlint.com现在可以为我验证它。。。我还用<code>-X OPTION</code>模拟了jQuery查询,并从服务器获得了与GET(application/json等的内容类型)完全相同的数据</p> <p>我已经盯着这个看了很多年了,非常感谢你的帮助。我是一个非常新的jQuery用户,但这看起来应该是非常没有问题的,所以我不知道我做错了什么!</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我认为你有一个跨子域的问题,<code>sub.domain.tld</code>和<code>domain.ltd</code>不一样。</p> <p>我建议您安装<a href="http://getfirebug.com/" rel="nofollow noreferrer">Firebug</a>,并检查您的代码在请求启动时是否抛出了<em>Permission denied</em>异常,如果是这样,请转到JSONP。。。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
在python3中使用Scipy pearsonr函数
4 回答
在Python3中使用scipy对多个lorentzian进行数据拟合
2 回答
在Python3中使用Script=argv
6 回答
在python3中使用selenium webdriver进行未解析的回溯
9 回答
在python3中使用selenium和phantomjs的网页截图之前如何等待?
5 回答
在Python3中使用Selenium和Requests模块从网页获取文件
7 回答
在python3中使用SIGINT终止函数
3 回答
在Python3中使用SIGTERM时,允许进程完成而不是中断
4 回答
在python3中使用smtplib发送XML内容
9 回答
在python3中使用socket库(RFCOMM模式)重新连接蓝牙设备?
5 回答
在python3中使用sounddevice和numpy编写wav文件
7 回答
在python3中使用Sqlalchemy插入MySQL查找类型错误的原因
2 回答
在python3中使用sqlite、pandas和sqlalchemy很难让rollback工作
10 回答
在python3中使用SQLite的FTS3/4
1 回答
在Python3中使用struct.calcsize()和len()有区别吗?
2 回答
在python3中使用substring函数时发生TypeError
3 回答
在Python3中使用Tkinter entry小部件写入串行设备
1 回答
在python3中使用tkinter时,如何在每次按下函数时获得运行该函数的按钮?
7 回答
在python3中使用tkinter的子帧
8 回答
在Python3中使用tryexcept块时,如何避免使用未初始化的变量?
8 回答