Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gilvan Moura

coisa minima

Recommended Posts

ola feras do java script e ajax tenho um codigo que faz uma requisição via post pelo ajax para o php e preciso que depois dessa requisição ele faça um header com a url gerada mais nao estou conseguindo segue o codigo

jQuery(document).ready(function(){
    jQuery('#compra_ajax').submit(function(){
        var dados = jQuery( this ).serialize();
        jQuery.ajax({
            type: "POST",
            url: "compra_ajax.php",
            data: dados,
            success: function( data )
            {
                $('#sucesso_compra_ajax').html(data);
            }
        });

        return false;
    });
});
<form method="post" action="/central/comprar" id="compra_ajax">
                    <div class="row">
                        <div class="col-sm-3">
                            <div class="form-group">
                                <label for="CCnumber">Quantidade</label>
                                <input type="text" name="quantidade" class="form-control">
                            </div>
                        </div><!-- /.col-sm-6 -->
                        <div class="col-sm-3">
                            <div class="form-group">
                                <label for="CCnumber">Processador</label>
                                <select name="tipo" class="form-control">
                                    <option value="">Selecione</option>
                                    <option value="ghs">GHS</option>
                                    <option value="khs">KHS</option>
                                </select>
                            </div>
                        </div><!-- /.col-sm-6 -->
                        <div class="col-sm-3">
                            <div class="form-group">
                                <label for="CCnumber">Pagar com</label>
                                <select name="pagamento" class="form-control">
                                    <option value="">Selecione</option>
                                    <?php if(ATIVE_PAGSEGURO){ ?>
                                        <option value="pagseguro">Pagseguro</option>
                                    <?php } ?>
                                    <?php if(ATIVE_MOIP){ ?>
                                        <option value="moip">Moip</option>
                                    <?php } ?>
                                    <?php if(ATIVE_BCASH){ ?>
                                        <option value="bcash">Bcash</option>
                                    <?php } ?>
                                    <?php if(ATIVE_PAYPAL){ ?>
                                        <option value="paypal">Paypal</option>
                                    <?php } ?>
                                </select>
                            </div>
                        </div><!-- /.col-sm-6 -->
                        <div class="col-sm-3">
                            <div class="form-group">
                                <label for="CCnumber"></label>
                                <button type="submit" name="comprar" class="btn btn-success btn-block"><i class="fa fa-sign-in"></i> Comprar</button>
                            </div>
                        </div>
                    </div><!-- /.row -->

                </form>

<div id="sucesso_compra_ajax"></div>
<?php
if (!isset($_SESSION)) session_start();
require_once ("../config/app.php");
require("../config/configurations.php");
$pdo = conectar();
require_once ("functions.php");
$login=decrypt($_SESSION["UsuarioLogin"]);

    $quantidade=addslashes($_POST["quantidade"]);
    $tipo=addslashes($_POST["tipo"]);
    $pagamento=addslashes($_POST["pagamento"]);

    if($quantidade=="" AND $tipo=="" AND $pagamento==""){
        $erro="Campos não podem ser vazios!";
    }
    else{
        if($quantidade==""){
            $erro="Seleciona uma quantidade para comprar!";
        }
        else{
            if($tipo==""){
                $erro="Defina o processador!";
            }
            else{
                if($pagamento==""){
                    $erro="Selecione um meio de pagamento";
                }
                else{
                    $preco_ghs=VALUEGHS;
                    $preco_khs=VALUEKHS;

                    if($tipo=="ghs"){
                        $multi=($quantidade * $preco_ghs);
                    }
                    if($tipo=="khs"){
                        $multi=($quantidade * $preco_khs);
                    }
                    $cambio=number_format(cambio($multi,'USD','BRL'),'2',',','.');
                    $pagar=number_format(cambio($multi,'USD','BRL'),'2');
                    $hoje=date("Y-m-d H:i:s");
                    $grava=$pdo->prepare("insert into compras (id_user, data, valor, tipo, quantidade, intermediador, status)values('$id_user','$hoje','$cambio','$tipo','$quantidade','$pagamento','pendente')");

                    $busca=$pdo->prepare("select * from compras where id_user='$id_user' AND quantidade='$quantidade' AND intermediador='$pagamento'");
                    $busca->execute();

                    if($busca->rowCount()== "1"){
                        $erro="Você já cadastrou um pedido de compra com esta quantidade e meio de pagamento!";
                    }else{
                        $grava->execute();
                        if($pagamento == "pagseguro"){
                            require_once "../library/PagSeguro/PagSeguroLibrary/PagSeguroLibrary.php";

                            $paymentRequest = new PagSeguroPaymentRequest();

                            $paymentRequest->addItem($id_user, 'Compra de '.$quantidade.' '.$tipo.' por '.$login.'', 1, $pagar);

                            $paymentRequest->setCurrency("BRL");

                            $paymentRequest->setShippingType(3);

                            $paymentRequest->setReference($id_user);

                            $credentials = PagSeguroConfig::getAccountCredentials();

                            // fazendo a requisição a API do PagSeguro pra obter a URL de pagamento
                            $url = $paymentRequest->register($credentials);

                            echo "<script type=\"text/javascript\">window.location.href = \"$url\";</script>";



                        }

                        $mensagem="usuario $login comprou $quantidade de $tipo pelo meio de pagamento $pagamento com status pendente";
                        SalvaLog('log_compra', $mensagem);


                    }
                }
            }
        }
    }
    $_SESSION["gravado"]="$quantidade";
echo isset($erro) ? '<div class="alert alert-danger alert-bold-border fade in alert-dismissable">
			  <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>' . $erro . '</div>' : '';
echo isset($sucesso) ? '<div class="the-box rounded text-center">' . $sucesso . '</div>' : '';
ja tentei de todas as formas redirecionar com windows.location, java script header do php e nada, quem poder me ajudar

fico agradecido

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se vc vai fazer um header, então para quê o ajax ?

Tira ele da jogada logo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

success: function( data ) {
                document.location.href = '/outra-pagina.html';
}
Mas ainda assim acho sem sentido vc fazer isso.

 

O "normal" seria vc tratar os erros com html5 e javascript, e então enviar o form normalmente sem ajax, já que vai fazer um redirect mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.