Visualizzazione risultati 1 fino 1 di 1

Discussione: jquery ajax con ritorno valore

  1. #1
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito jquery ajax con ritorno valore

    Scusate avrei un quesito da porvi.. Agli elementi <script> e <style> in XHTML inviati come text/html devono essere applicati gli escape usando stringhe (#PCDATA).

    Supponendo che io abbia una pagina xhtml con output e faccio l'invio post a se stessa con jquery ajax.
    Nella funzione callback che recupera il testo dovrei convertire i "<",">" o dovrei verificare se sia una richiesta jquery ajax ed eventualmente effettuare l'escape dei caretteri citati prima direttamente nel sorgente xhtml?
    ecco il codice completo.
    session_start.php
    Codice PHP:
    <?php
    if(empty($dati3)){
    $dati3[0] = 1617;
    $dati3[1] = 1516;
    $dati3[2] = 1415;
    }

    // Valid session
    $i = 0;

    while(
    $i <= count($dati3)-1){
    if(!empty(
    $_COOKIE['season']) && (int)$_COOKIE ['season'] == $dati3[$i]){
    $dati2 = (int)$_COOKIE['season'];
    if(!empty(
    $dati)){
    $i = $j;
    if(
    $dati == $dati2){
    unset(
    $dati);
    }
    }
    break;
    }elseif(!empty(
    $_COOKIE['season']) && $i == count($dati3)-1 || empty($_COOKIE['season'])){
    $i = 0;
    if(empty(
    $dati)){
    $dati = $dati3[$i];
    }else{
    if(empty(
    $_COOKIE['season']) || (int)$_COOKIE['season'] != $dati){
    $i = $j;
    }
    }
    break;
    }
    if(!empty(
    $dati)){
    if(empty(
    $dati2) && !empty($_COOKIE['season']) && $_COOKIE['season'] == $dati){
    $i = $j;
    continue;
    }
    }
    $i++;
    }

    if(!empty(
    $dati)){
    //*Name of session
    session_name('season');
    // Id of session
    session_id((string)$dati);
    //Start the session
    session_start();
    $_SESSION['season']=(string)$dati;
    session_unset();
    unset(
    $_SESSION['season']);
    session_destroy();
    session_write_close();
    }
    ?>
    set_season.php
    Codice PHP:
    <form method="post" action="<?php echo "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; ?>">
    <p>
    <select id="soflow-color" name="get_season">
    <?php
    if($i != 0){
    $dati = $dati3[$i];
    $dati3[$i] = $dati3[0];
    $dati3[0] = $dati;
    }
    $dati = $dati3[0];
    unset(
    $dati3[0]);
    rsort($dati3);

    $i = 0;
    $dati4 = '';

    while(
    $i <= count($dati3)-1){
    $dati4 .= '<option value="'.$dati3[$i].'">20'.substr(chunk_split($dati3[$i], 2, '/20'), 0, -3)."</option>\r\n";
    $i++;
    }
    echo
    $dati4 = substr_replace($dati4, ' selected="selected">',20,1);
    ?>
    </select>
    <input type="submit" value="invia I dati" />
    </p>
    </form>
    <div id="risultato"><?php echo '<h1>', $dati, ' anno '.'20'.substr(chunk_split($dati, 2, '/20'), 0, -3).'</h1>'; ?></div>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
    <script type="text/javascript">
    $( "form" ).submit(function( event ) {
    var season = $( "select" ).val();
    var dataString = "get_season="+season;
    $.ajax({
    type: "POST",
    url: "<?php echo "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; ?>",
    data: dataString,
    cache: false,
    success: function(data)
    {
    var start = data.indexOf("risultato")+11;
    var end = data.indexOf(decodeURIComponent("%3C%2Fdiv%3E"),start)-start;
    $("select option").empty().remove();
    var my_var = '<?php echo implode(',',$dati3).','.$dati;
    unset(
    $dati3,$dati4,$dati,$i); ?>'.replace(season+',','');
    my_arr = my_var.split(',');
    my_arr.sort(function(a,b){return b-a});
    $.each(my_arr, function(key, value) {

    $("select")

    .append($(decodeURIComponent("%3Coption%3E%3C%2Foption%3E"))

    .attr("value",key)

    .text('20'+value.substr(0,2)+'/20'+value.substr(2,2)));

    });
    $("#risultato").html(data.substr(start,end)).show();
    }
    });
    event.preventDefault();
    });
    </script>
    pagina.php
    Codice PHP:
    <?php
    // Dati
    $dati3[0] = 1617;
    $dati3[1] = 1516;
    $dati3[2] = 1415;

    //Valid post
    $i = 0;

    while(
    $i <= count($dati3)-1){
    if(!empty(
    $_POST['get_season']) && (int)$_POST['get_season'] == $dati3[$i]){
    $dati = (int)$_POST['get_season'];
    $j = $i;
    break;
    }
    $i++;
    }

    include
    'session_start.php';
    if(!empty(
    $_POST['get_season'])){
    $j = '';
    unset(
    $_POST['get_season'], $j);
    }
    if(!empty(
    $_COOKIE['season'])){
    $dati2 = '';
    unset(
    $_COOKIE['season'], $dati2);
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Classifica</title>
    </head>
    <body>
    <?php
    include 'set_season.php';
    ?>

    </body>
    </html>
    Ultima modifica di darbula : 02-10-2016 alle ore 13.59.53

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •