2015-05-19 32 views
10

Ho un problema durante la chiamata ajax.Come passare i dati a un'altra pagina utilizzando jquery ajax

Ecco il mio codice per quanto riguarda l'Ajax:

$('#Subjects').click(function() { 
    $.ajax({ 
     type: 'POST', 
     url: '../portal/curriculum.php', 
     data: 'studentNumber='+$('#StudentID').val(), 
     success: function(data) 
     { 
      $('#curriculum').html(data); 
     } 
    }); 
}); 

Quando mi associo studentNumber in un'altra pagina, il studentNumber è undefined. Perché?

+8

Usa '{studentNumber:. $ ('# StudentID') val()}' –

+1

D'accordo con Jake, vorrei anche mettere un "console.log ($ ('#StudentID') .val()) appena prima della chiamata ajax per vedere se ha il valore atteso – Jobst

+0

Puoi anche dare un'occhiata al documento [jQuery AJAX] (http://api.jquery.com/ jquery.ajax /) –

risposta

1
<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("button").click(function(){ 
     $.post("test1.php", 
     { 
      name: "Makemelive Technologies", 
      city: "Mumbai" 
     }, 
     function(data,status){ 
      alert("Data: " + data + "\nStatus: " + status); 
     }); 
    }); 
}); 
</script> 
</head> 
<body> 

<button>Send an HTTP POST request to a page and get the result back</button> 

</body> 
</html> 

È possibile che questo farà una chiamata a test1.php e il suo codice sarà

<?php 

$fname=$_REQUEST['name']; 
$city= $_REQUEST['city']; 

echo "Company Name is ". $fname. " and it's located in ". $city ; 

?> 
+0

Questa non è una risposta. – Dropout

+0

si prega di controllare ora .. se questo ti aiuta .. penso che c'è un errore nella tua chiamata a Ajax .. – makemelive

+0

sì, funziona già. sembra che il mio problema sia con l'eco .. non ho usato $ _POST per echeggiare il risultato ho appena fatto eco studentNumber, grazie per tutto il tuo aiuto. – kathleen55

3

È sufficiente modificare il codice in questo modo:

JS

$('#Subjects').click(function() { 
    $.ajax({ 
     type: 'POST', 
     url: '../portal/curriculum.php', 
     data: { studentNumber: $('#StudentID').val() }, 
     success: function(data) 
     { 
      $('#curriculum').html(data); 
     } 
    }); 
}); 

PHP

<?php 

    $var = $_POST['studentNumber']; 

?> 

Se ancora non può fare che funziona .. altre cose che si dovrebbero prendere in considerazione ..

url: '../portal/curriculum.php', 

1) Utilizzare URL completo http://yourdomain.com/portal/curriculum.php o percorso assoluto come /portal/curriculum.php

2) Aggiungere un callback di errore per verificare il messaggio di errore

$('#Subjects').click(function() { 
    $.ajax({ 
     type: 'POST', 
     url: '../portal/curriculum.php', 
     data: { studentNumber: $('#StudentID').val() }, 
     success: function(data) 
     { 
      $('#curriculum').html(data); 
     }, 
     error: function (xhr, ajaxOptions, thrownError) { 
      alert(xhr.status); 
      alert(thrownError); 
     } 
    }); 
}); 
+0

sì, funziona già. sembra che il mio problema sia con l'eco .. non ho usato $ _POST per echeggiare il risultato ho appena fatto eco studentNumber, grazie per tutto il tuo aiuto. – kathleen55

1
$('#Subjects').click(function() { 
     $.ajax({ 
     type: 'POST', 
     url: '../portal/curriculum.php', 
     data: { studentNumber: $('#StudentID').val() }, 
     success: function(data) 
     { 
     //here data is means the out put from the php file it is not $('#StudentID').val() 
     $('#curriculum').html(data); 
     } 
     }); 
    }); 

come esempio se si echeggia del testo su php, esso ritornerà con i dati $ ('# curriculum'). Html (data);

tenta di modificare

//change 
success: function(data) 
{ 
    $('#curriculum').html(data); 

//to 
success: function(result) 
{ 
    $('#curriculum').html(result); 

controllo ciò che accadrà. noi inviare file php troppo curriculum.php

+1

sì, funziona già. sembra che il mio problema sia con l'eco .. non ho usato $ _POST per echeggiare il risultato ho appena fatto eco studentNumber, grazie per tutto il tuo aiuto. – kathleen55

-3
$.ajax({ 
    type: "GET", 
    url: "view/logintmp.php?username="+username+"&password="+password, 
}).done(function(msg) { 
    var retval = printmsgs(msg,'error_success_msgs'); 
    if(retval==1){ 
     window.location.href='./'; 
    } 
}); 
+0

Fornire alcune spiegazioni su come questo codice aiuta rispetto ad altre risposte? – vard

Problemi correlati