簡體   English   中英

$ .getJSON不起作用,但是訪問查詢URL會返回數據

[英]$.getJSON doesn't work, but accessing the query URL returns data

#!/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

我無法請求網址拋出以下javascript / jquery代碼:

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

當我瀏覽相同的URL時,我正在獲取數據。

首先,檢查您是否正在瀏覽器中實際加載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" ] ) } )

通過使用jsonp請求來解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM