2011-02-07 53 views
0

我有一個簡單的Python服務器,問題與Python服務器和Ajax在Firefox

import BaseHTTPServer 
import SimpleHTTPServer 

PORT = 8080 

class TestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): 
    def do_GET(self): 
     self.wfile.write("ok") 

def start_server(): 
    """Start the server.""" 
    server_address = ("", PORT) 
    server = BaseHTTPServer.HTTPServer(server_address, TestHandler) 
    server.serve_forever() 

if __name__ == "__main__": 
    start_server() 

,我想使用Ajax進行通信:

$.ajax({ 
    type: "GET", 
    url: 'http://localhost:8080', 
    data: dataString, 
    success: function(data) { 
     alert(data) 
    } 
}); 

但由於跨域問題,URL ='http:// localhost:8080'不適用於Firefox或Chrome。我的代碼在Internet Explorer上正常。

我該如何解決我的pb問題?我的HTML文件位於本地http://localhost/test/,我的Python服務器位於http://localhost:8080,我想在同一個域上進行通信。

回答

0

你不能通過另一個URL上的同一個小型Python服務器來提供本地文件嗎?這將使他們都在同一個域中。

如果您使用Apache爲您的HTML頁面提供服務,您可以代理(see ProxyPass)您的Python服務器,以便它出現在相同的域和同一端口上,就在不同的URL下。

+0

我有一個用於html/ajax和python服務器的apache服務器。我怎樣才能通過同一臺服務器提供本地文件? – pablo07 2011-02-07 15:07:33