#!/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("----------");
});
当我浏览相同的网址时,我正在获取数据。
答案 0 :(得分:0)
首先,检查您是否实际在浏览器中加载了jQuery库。如果在控制台中输入jQuery()
或$()
返回undefined
或[]
,则表示您未在页面中加载jQuery库。
其次,python代码中的print
方法打印数据,但不会将其返回给调用函数。
要解决此问题,请将print
更改为return
。另外,我建议您将功能更改为以下内容:
response = {'host' : cgi.escape(os.environ["REMOTE_ADDR"])}
return json.dumps(response)
您的print
语句不执行任何操作,此代码段的全部用途是获取服务器环境的地址。
事实上,这一切都可以在一行中完成:
return json.dumps( { 'host' : cgi.escape( os.environ[ "REMOTE_ADDR" ] ) } )
答案 1 :(得分:0)
使用jsonp请求解决了这个问题。