Por que uma postagem de formulário HTML para um recurso Restlet não está funcionando?
-
24-09-2019 - |
Pergunta
As anotações do RestLet (2.0M6 no Google App Engine) são realmente sensíveis à ordem dos métodos de um recurso. Ao postar dados do formulário HTML, verifique se o método @Post ("html") permanece acima do método @Post ("xml") no recurso de recebimento. Pelo menos o Firefox coloca os dois tipos de conteúdo no cabeçalho aceita da solicitação; portanto, o primeiro método de correspondência será processado.
A questão é, se houver outra maneira de alcançar o controle sobre a precedência do método?
Por exemplo, gostaria que o cliente aceitasse apenas texto/html.
Solução
De acordo com o seu comentário, que você está perguntando se existe algum tipo de atributo de formulário HTML do lado do cliente ou JavaScript para modificar o cabeçalho Aceitar, a resposta seria, Afaik: não. Não para links clicados ou formulários enviados pelo usuário. Como você mencionou em seu comentário, você pode usar o JS para interceptar cliques de link e formar postagens e usar o XHR, mas isso provavelmente seria complicado, se possível.
BTW, xmlHttPrequest não tem nada a ver com XML. Ele pode lidar com qualquer tipo de conteúdo, tanto para solicitações e respostas. É muito comum devolver um trecho de HTML a uma solicitação XHR e usar a injeção de DOM para atualizar dinamicamente a página.