Pergunta

Foi-me dito que US $ .getJSON é a melhor maneira de enviar dados de e para servidores externos. Eu provavelmente desperdiçado 7 horas do meu tempo tentando usar Ajax do jQuery para fazê-lo apenas para descobrir que nenhum dos navegadores permite esse tipo de método. Gostaria de enviar os dados usando o Jquery getJSON e estou usando cakephp como o meu fim de recepção (ou seja Meu servidor externo) Aqui está o que eu tenho até agora.

$.getJSON("http://play.mysite.com/usersessions/store/",{ data: "Hi!"});

Eu não quero uma chamada de retorno porque eu não precisar dele. Eu só preciso enviar alguns dados para o servidor externo. Este é o site MVC tão usersessions é meu controlador, loja é minha ação.

Abaixo está o meu código CakePHP. Se você não sabe isso, então isso é ótimo. Eu realmente preciso saber se estou enviando os dados getJSON corretamente

<?php class UsersessionsController extends AppController {

var $name = 'Usersessions';
var $helpers = array('Html', 'Form','Ajax');
var $components = array('RequestHandler');


function store()
{
   Configure::write('debug', 0);
   $this->autoRender = false;

   if($this->RequestHandler->isAjax()) {
       if ($this->params['url']['data'])
       {
           $this->data['Usersession']['data'] = $this->params['url']['data'];
            $this->Usersession->Save($this->data);
            echo 'Success';
        }   
   }    
}

} ?>

Obrigado!

Foi útil?

Solução

getJSON () é para a leitura de dados JSON a partir do servidor. Se você só quer enviar alguns parâmetros do navegador para o servidor, basta usar get () e não use o callback opcional.

De docs:

Solicitar a página test.php e enviar alguns dados adicionais ao longo (enquanto ainda ignorando os resultados de retorno).

 $.get("test.php", { name: "John", time: "2pm" } );

http://docs.jquery.com/Ajax/jQuery.get#urldatacallbacktype

Outras dicas

JQuery fornece uma maneira fácil de implementar JSONP , que é uma condição necessária "hack" para contornar as políticas de segurança cross-site-scripting em browsers. Especificando um callback na cadeia de consulta do pedido é necessária, juntamente com alguns formatação da resposta pelo seu servidor especial.

Seu pedido precisaria implementado de uma forma como esta:

$.getJSON("http://play.mysite.com/usersessions/store/?jsoncallback=?",
  { data: "Hi!"}, function(){});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top