Pergunta

Eu poderia simplesmente criar um formulário e usar isso para fazer uma solicitação POST para qualquer site, uma coisa é o método FORM não é assíncrona, eu preciso saber quando a página tem carregamento acabado. Eu tentei mexer com isso usando um iframe com um dentro de uma forma, mas sem sucesso.

Todas as idéias?

Editar

infelizmente eu não tenho controle sobre os dados de resposta, que varia de XML, JSON para texto simples.

Foi útil?

Solução

Você pode capturar o evento onload de um iframe. Alvo seu form ao iframe e ouça o onload. Você não será capaz de acessar o conteúdo do iframe, porém, apenas o evento.

Tente algo parecido com isto:

<iframe id='RS' name='RS' src='about:blank' onload='loaded()'></iframe>

<form action='wherever.php' target='RS' method='POST'>...</form>

bloco de script:

var loadComplete = 0
function loaded() {
    //avoid first onload
    if(loadComplete==0) {
        loadComplete=1
        return()
    }
    alert("form has loaded")
}

Outras dicas

Se você quiser fazer solicitações entre domínios que você deve ou fez uma chamada JSON ou usar um proxy serverside. Um proxy serverside é fácil de configurar, não tenho certeza por que as pessoas evitá-lo tanto. Configurar regras nele para que as pessoas não podem usar o proxy para solicitar outras coisas.

Se os dados retornados a partir do posto de domínio cruzado é JSON, podes adicionar dinamicamente um apontador tag script para o URI que retorna os dados. O navegador vai carregar esse "script" que, em seguida, você pode acessar de outro javascript.

YUI3 's iO ofertas de objetos de domínio cruzado, no entanto ele faz isso usando um pequeno controle do flash que incorpora na página.

Enquanto há trabalho para solicitações entre domínios seguros de JavaScript, neste momento, você precisa usar um plug-in como o Flash ou Silverlight como uma ponte para fazer com que a solicitação.

Você não pode fazer nada cross-domain usando javascript. Você teria que usar uma linguagem backend como PHP ou ASP ou algo assim.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top