Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/10/2015, 02:02
Avatar de minicrash
minicrash
 
Fecha de Ingreso: agosto-2011
Ubicación: Santiago de compostela
Mensajes: 7
Antigüedad: 13 años, 6 meses
Puntos: 1
Problema con WS y ajax

Buenos dias a todos,

resulta que llevo un par de dias peleandome, ya que estoy haciendo una pequeña web, y tengo unos servicios web montados para realizar las operaciones contra la base de datos en PHP, lo saque de un manual de internet, ya que antes no tenia ni idea, el caso es que tengo varios WS, pero claro a la hora usarlos se me complica la cosa, resulta que tengo uno para recuperar todos los elementos de una tabla que me funciona perfectamente y soy capaz de recuperar todo desde el HTML con Ajax, pero a la hora de insertar se me complica el asunto porque no se ni por donde empezar. Adjunto el WS y un pequeño trozo del HTML asi como la llamada del Ajax.

Código PHP:
<?php
/**
 * Insertar una nueva jornada en la base de datos
 */

require 'Emparexamento_tmp.php';

if (
$_SERVER['REQUEST_METHOD'] == 'POST') {

    
// Decodificando formato Json
    
$body json_decode(file_get_contents("php://input"), true);

    
// Insertar jornada
    
$retorno Emparexamento_tmp::insert(
        
$body['temporada'],
    
$body['xornada'],
    
$body['oponente1'],
    
$body['oponente2'],
    
$body['data']);

    if (
$retorno) {
        
// Código de éxito
        
print json_encode(
            array(
                
'estado' => '1',
                
'mensaje' => 'Creación exitosa')
        );
    } else {
        
// Código de falla
        
print json_encode(
            array(
                
'estado' => '2',
                
'mensaje' => 'Creación fallida')
        );
    }
}
?>
El codigo HTML serian todos los campos de estes estilo:

Código HTML:
<select id="oponente1_combo" name="oponente1"/> 
Y por ultimo la llamada al WS con Ajax la tengo de la siguiente forma:

Código:
$('#formulario').submit(function() {
			emparexamento["temporada"] = $("#temporada").val();
			emparexamento["xornada"] = $("#xornadas_combo").val();
			emparexamento["oponente1"] = $("#oponente1_combo").val();
			emparexamento["oponente2"] = $("#oponente2_combo").val();
			emparexamento["data"] = $("#datepicker").val();
			$.ajax({
                		type: "POST",
                		url: "ruta_dominio/insertar_emparexamento_tmp.php",
                		contentType: "application/json; charset=utf-8",
                		data: $.toJSON(emparexamento),
               			success: function (response){
					alert("Insertado correctamente");
                		},
                		failure: function (msg){
                    			alert(msg);
                		}
            		});
        	});