Os navegadores enviam Opções em vez de Publicar depois de alterar o cabeçalho http

/*set the response header*/
    Form responseHeaders = (Form) getResponse().getAttributes().get("org.restlet.http.headers"); 
    if (responseHeaders == null) { 
        responseHeaders = new Form(); 
        responseHeaders.add("Access-Control-Allow-Origin", "*");
        responseHeaders.add("Access-Control-Allow-Methods", "POST, GET, PUT, DELETE");
        getResponse().getAttributes().put("org.restlet.http.headers", responseHeaders); 
    } 

Eu adicionei isso no meu código de restlet 2.0 para permitir o acesso de domínio cruzado, isso faz com que o primeiro GET funcione no carregamento da página, mas quando tento fazer POST mais tarde (com backbone model.save ()), o navegador envia Opções com um entidade nula em vez disso.

Ele envia o POST certo se eu não adicionar o código acima

Isso acontece no Opera, Firefox e Chrome (funciona bem se eu iniciar o chrome com --disable-web-security), então suponho que ainda seja um problema de segurança do navegador, alguém poderia fornecer explicações sobre por que isso aconteceria e o que poderia ser o conserto?

questionAnswers(6)

yourAnswerToTheQuestion