【问题标题】:$.getJSON doesn't work, but accessing the query URL returns data$.getJSON 不起作用,但访问查询 URL 会返回数据
【发布时间】:2014-03-13 10:26:09
【问题描述】:
#!/usr/bin/python
import json
import cgi
import os

print 'Content-Type: application/json'
print 
response={'host':cgi.escape(os.environ["REMOTE_ADDR"])}
jsondata=json.dumps(response)
print jsondata

我无法请求 url 抛出以下 javascript/jquery 代码:

jquery.getJSON("http://ourdomain/cgi-bin/serverscript.py", function(data){
    alert("----------");
 });

当我浏览相同的网址时,我正在获取数据。

【问题讨论】:

    标签: python ajax json


    【解决方案1】:

    首先,检查您是否真的在浏览器中加载了 jQuery 库。如果在控制台中输入jQuery()$() 返回undefined[],那么您没有在页面中加载jQuery 库。

    其次,python 代码中的print 方法会打印数据,但不会将其返回给调用函数。

    要解决此问题,请将 print 更改为 return。另外,我建议将您的功能更改为以下内容:

    response = {'host' : cgi.escape(os.environ["REMOTE_ADDR"])}
    return json.dumps(response)
    

    您的print 语句没有做任何事情,这段代码 sn-p 的全部目的是获取服务器环境的地址。

    事实上,这一切都可以在一行中完成:

    return json.dumps( { 'host' : cgi.escape( os.environ[ "REMOTE_ADDR" ] ) } )
    

    【讨论】:

      【解决方案2】:

      通过jsonp请求解决。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-07
        • 1970-01-01
        • 2010-12-16
        • 2015-01-16
        相关资源
        最近更新 更多