Pregunta

Me dijeron que $ .getJSON es la mejor manera de enviar datos hacia y desde servidores externos. Probablemente perdido 7 horas de mi tiempo tratando de utilizar Ajax de jQuery para hacerlo sólo para descubrir que no hay navegadores permiten ese tipo de método. Me gustaría enviar los datos mediante el Jquery getJSON y estoy usando cakephp como mi extremo receptor (es decir, Mi servidor externo) Aquí es lo que tengo hasta ahora.

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

No quiero una devolución de llamada porque yo no lo necesito. Sólo hay que enviar algunos datos al servidor externo. Este es el sitio MVC así usersessions es mi controlador, tienda es mi acción.

A continuación se muestra el código cakephp. Si no lo sabe entonces que está muy bien. Yo realmente necesito saber si estoy enviando los datos getJSON correctamente

<?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';
        }   
   }    
}

} ?>

Gracias usted!

¿Fue útil?

Solución

getJSON () es para la lectura de datos JSON desde el servidor. Si lo que desea es enviar algunos parámetros desde el navegador al servidor, sólo tiene que utilizar get () y no utilizar la devolución de llamada opcional.

A partir de los documentos:

Solicitar la página test.php y enviar algunos datos adicionales a lo largo (sin dejar de ignorar los resultados de retorno).

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

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

Otros consejos

jQuery proporciona una manera fácil de implementar JSONP , que es una condición necesaria "hack" para moverse por las políticas de seguridad, este tipo de ataque en los navegadores. Especificación de una devolución de llamada en la cadena de consulta de la solicitud se requiere, junto con algún formato especial de la respuesta de su servidor.

tendría que aplicarse de forma como esta Solicitud de información:

$.getJSON("http://play.mysite.com/usersessions/store/?jsoncallback=?",
  { data: "Hi!"}, function(){});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top