problemas de cherrypy / jquery CORS
Tengo un servidor web python simple basado en cherrypy. Sus recursos proporcionarán una API. El servidor tiene el siguiente código para proporcionar CORS:
def CORS():
cherrypy.response.headers["Access-Control-Allow-Origin"] = "*"
if __name__ == "__main__":
cherrypy.tools.CORS = cherrypy.Tool('before_finalize', CORS)
cherrypy.quickstart(PyCachedAdmin(), config={'/': {'request.dispatch': cherrypy.dispatch.MethodDispatcher()}})
el servidor se está ejecutando en localhost: 8080. Ahora tengo un archivo HTML, disponible en localhost (puerto predeterminado 80) que carga jquery 1.9. Abro la consola del navegador para probar el$.ajax
para ejecutar cualquier solicitud AJAX al servidor cherrypy. He estado intentando:
$.ajax({
url:'http://localhost:8080/',
type: "POST",
dataType: "json",
data: {command:"version"}
}).done(function(){
console.log('hej');
});
y
$.ajax({
url:'http://localhost:8080/',
type: "POST",
crossDomain: true,
dataType: "jsonp",
data: {command:"version"}
}).done(function(){
console.log('hej');
});
y
$.support.cors = true
y nada funcionó. Me estoy poniendo bienXMLHttpRequest cannot load http://localhost:8080/. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
oGET http://localhost:8080/?callback=jQuery19102827550224028528_1382823727186&command=version&_=1382823727187 404 (Not Found)
cuando se usa jsonp (es misterioso que envíe GET en lugar de POST). Hay algunas preguntas similares alrededor, las probé y estos son mis resultados (que algo todavía está mal).
PD: el servidor está perfectamente bien, ya que todas las pruebas de curl pasan. Algo está mal con las cosas de dominio cruzado.