Tengo un div que contiene un texto para la base de datos:

<div id="summary">Here is summary of movie</div>

Y la lista de enlaces:

<a href="?id=1" class="movie">Name of movie</a>
<a href="?id=2" class="movie">Name of movie</a>
..

El proceso debe ser algo como esto:

  1. Haga clic en el enlace
  2. Ajax usando la url del enlace para pasar los datos a través de LLEGAR a archivo php /misma página
  3. PHP devuelve la cadena
  4. El div se cambia a esta cadena
  • Está utilizando algún framework js como jQuery o quieres un simple javascript soultion?
  • Cambiar el contenido de un div usando $('#summary').html("Your text");
  • Sí, estoy usando jQuery.
  • pero, ¿cómo puedo pasar la solicitud get?
InformationsquelleAutor Luis | 2011-06-28

7 Comentarios

  1. 53
    <script>
    
    function getSummary(id)
    {
       $.ajax({
    
         type: "GET",
         url: 'Your URL',
         data: "id=" + id, //appears as $_GET['id'] @ your backend side
         success: function(data) {
               //data is ur summary
              $('#summary').html(data);
         }
    
       });
    
    }
    </script>

    Y agregar onclick evento en sus listas

    <a onclick="getSummary('1')">View Text</a>
    <div id="#summary">This text will be replaced when the onclick event (link is clicked) is triggered.</div>
  2. 7

    Usted puede lograr esto fácilmente con jQuery al registrarse para el evento click de los anclajes (con class=»movie») y el uso de la .load() método para enviar una petición AJAX y reemplazar el contenido del resumen div:

    $(function() {
        $('.movie').click(function() {
            $('#summary').load(this.href);
    
            //it's important to return false from the click
            //handler in order to cancel the default action
            //of the link which is to redirect to the url and
            //execute the AJAX request
            return false;
        });
    });
    • Pero tengo que pasar una solicitud GET, no hay de cada resumen de una página.. hay un archivo php que recibe un ID de la película y sacar el resumen de la base de datos. 🙂
    • Alguna sugerencia?
  3. 3

    probar este

       function getmoviename(id)
       {    
         var p_url= yoururl from where you get movie name,
         jQuery.ajax({
         type: "GET",             
         url: p_url,
         data: "id=" + id,
          success: function(data) {
           $('#summary').html(data);
    
        }
     });    
     }

    y parte de html es

      <a href="javascript:void(0);" class="movie" onclick="getmoviename(youridvariable)">
      Name of movie</a>
    
      <div id="summary">Here is summary of movie</div>
  4. 3

    Esto funciona para mí, y no necesitan de la secuencia de comandos en línea:

    Javascript:

        $(document).ready(function() {
        $('.showme').bind('click', function() {
    
            var id=$(this).attr("id");
            var num=$(this).attr("class");
            var poststr="request="+num+"&moreinfo="+id;
            $.ajax({
                  url:"testme.php",
                  cache:0,
                  data:poststr,
                  success:function(result){
                         document.getElementById("stuff").innerHTML=result;
                   }
            }); 
        });
     });

    HTML:

        <div class='request_1 showme' id='rating_1'>More stuff 1</div>
        <div class='request_2 showme' id='rating_2'>More stuff 2</div>
        <div class='request_3 showme' id='rating_3'>More stuff 3</div>
    
        <div id="stuff">Here is some stuff that will update when the links above are clicked</div>

    La solicitud se envía a testme.php:

        header("Cache-Control: no-cache");
        header("Pragma: nocache");
    
        $request_id = preg_replace("/[^0-9]/","",$_REQUEST['request']);
        $request_moreinfo = preg_replace("/[^0-9]/","",$_REQUEST['moreinfo']);
    
        if($request_id=="1")
        {
            echo "show 1";
        }
        elseif($request_id=="2")
        {
            echo "show 2";
        }
        else
        {
            echo "show 3";
        }
  5. 1
    <script>
    $(function(){
        $('.movie').click(function(){
            var this_href=$(this).attr('href');
            $.ajax({
                url:this_href,
                type:'post',
                cache:false,
                success:function(data)
                {
                    $('#summary').html(data);
                }
            });
            return false;
        });
    });
    </script>
  6. 0
    <script>
    
    function getSummary(id)
    {
       $.ajax({
    
         type: "GET",//post
         url: 'Your URL',
         data: "id="+id, //appears as $_GET['id'] @ ur backend side
         success: function(data) {
               //data is ur summary
              $('#summary').html(data);
         }
    
       });
    
    }
    </script>

Dejar respuesta

Please enter your comment!
Please enter your name here