2015-05-19 5 views
10

У меня проблема с вызовом ajax.Как передать данные на другую страницу с помощью jquery ajax

Вот мой код относительно Аякса:

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

Когда я эхо studentNumber на другой странице, то studentNumber является undefined. Почему это?

+8

Используйте '{studentNumber:. $ ('# StudentID') Вал()}' –

+1

согласен с Джейком, я бы также поставить «console.log ($ ('#StudentID'). Val()) перед вызовом ajax, чтобы увидеть, имеет ли он ожидаемое значение. – Jobst

+0

Возможно, вам также понадобится посмотреть doc [jQuery AJAX] (http://api.jquery.com/ jquery.ajax /) –

ответ

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> 

выше будет сделать вызов test1.php и его код будет

<?php 

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

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

?> 
+0

Это не ответ. – Dropout

+0

, пожалуйста, проверьте его сейчас .. если это поможет вам .. я думаю, что есть ошибка в вашем обращении к ajax .. – makemelive

+0

да, это уже работает. кажется, что моя проблема связана с эхом. Я не использовал $ _POST в отражении результата, я просто эхо studentNumber, спасибо за вашу помощь. – kathleen55

3

Просто измените свой код так:

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']; 

?> 

Если вы все еще не можете сделать это работает .. другие вещи, которые вы должны рассмотреть ..

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

1) Пожалуйста, используйте полный URL http://yourdomain.com/portal/curriculum.php или абсолютный путь /portal/curriculum.php

2) Добавить обратный вызов ошибки, чтобы проверить сообщение об ошибке

$('#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

да, это уже работает. кажется, что моя проблема связана с эхом. Я не использовал $ _POST в отражении результата, я просто эхо studentNumber, спасибо за вашу помощь. – 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); 
     } 
     }); 
    }); 

как exsample, если вы эхо-текст на php, он вернется с данными $ ('# curriculum'). Html (data);

попытаться изменить

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

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

проверить, что произойдет. отправлять нам PHP файл слишком curriculum.php

+1

Да, это уже работает. кажется, что моя проблема связана с эхом. Я не использовал $ _POST в отражении результата, я просто эхо studentNumber, спасибо за вашу помощь. – 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

Ум, объясняющий, как этот код помогает по сравнению с другими ответами? – vard

Смежные вопросы