Pregunta

Pocas preguntas:

Estoy usando IC y jQuery AJAX.

En mi código de abajo, ensamblo dataString, que por defecto, se añade a la URL como una cadena de consulta.

He cambiado el "tipo" de AJAX a POST, por lo que mi pregunta es - ¿cómo hacer que el acceso dataString en mi aplicación CI

Parece que todavía tengo que usar

$name=$this->input->post('name')

Lo que a mí, hace que la configuración redundante dataString?

-

Me he intentado buscar pero realmente no puedo encontrar nada concreto.

¿Sería posible todavía hacer uso de la biblioteca de validación IC y AJAX?

if($this->form_validation->run() == FALSE)
{
    // what can i return so that my CI app shows errors?
}

Normalmente se vuelva a cargar el formulario de contacto o redirigir al usuario. En un mundo ideal, me gustaría que los mensajes de error que se muestra al usuario.

Jquery:

    $(document).ready(function($){
        $("#submit_btn").click(function(){
            var name = $("input#name").val();
            var company = $("input#company").val();
            var email = $("input#email").val();
            var phone = $("input#phone").val();
            var message = $("textarea#message").val();
            var dataString = 'name=' +  name + '&message=' + message + '&return_email=' + email + '&return_phone=' +
            phone + '&company=' + company;
            var response = $.ajax({
                type: "POST",
                url: "newsite/contact_ajax/",
                data: dataString
            }).responseText;

            //$('#contact').hide();
            //$('#contact').html('<h5>Form submitted!  Thank you!</h5><h4>We will be in touch with you soon.</h4>');
            //$('#contact').fadeIn('slow');
            return false;
        });  
    });

Espero haber sido lo suficientemente claro - si alguien tiene un ejemplo digno de un formulario de contacto de CI que sería grande. hay cosas mixta en Internet, pero nada de lo que golpea a todas las cajas.

gracias

¿Fue útil?

Solución

Como he escrito en los comentarios, no es necesario establecer un dataString desde jQuery puede hacer por usted:

$(document).ready(function($){
    $("#submit_btn").click(function(){
        var response = $.ajax({
            type: "POST",
            url: "newsite/contact_ajax/",
            data: $(your_form_id).serialize()
        }).responseText;

        //$('#contact').hide();
        //$('#contact').html('<h5>Form submitted!  Thank you!</h5><h4>We will be in touch with you soon.</h4>');
        //$('#contact').fadeIn('slow');
        return false;
    });  
});
scroll top