0
场景:我有一个网页,需要从Javascript进行XMLRPC调用,并使用mimic.js来做到这一点。 XMLRPC服务器是使用基于SimpleXMLRPCServer的python编写的。CORS XMLRPC通过mimic.js
当网页和服务器在同一台机器上时,一切正常。如果页面来自不同的机器,我遇到了CORS问题。我设法去的地步,我知道XMLRPC调用打通到服务器的点,但该页面还在抱怨:
XMLHttpRequest cannot load http://server.machine.com:8888/. Origin http://page.machine.com is not allowed by Access-Control-Allow-Origin.
(mimic.js:8) NETWORK_ERR: XMLHttpRequest Exception 101: A network error occurred in synchronous requests.
这是我不得不添加到我的SimpleXMLRPCRequestHandler的子类我的服务器:
def do_OPTIONS(myself):
myself.send_response(200)
myself.send_header("Access-Control-Allow-Origin", "*")
myself.send_header("Access-Control-Allow-Headers","Content-Type")
myself.end_headers()
myself.wfile.write("OK")
我的理解是,我不应该需要改变有关发出呼叫XMLRPC什么当服务器在不同的机器上(除指定新的地址)。所以(终于!)这个问题:我错过了什么?如果答案和“你需要一个不同的XMLRPC客户端库”一样简单,那么对于替换的建议就会受到欢迎。