Одна функция для загрузки различных php-страниц с помощью jQuery и AJAX - PullRequest
0 голосов
/ 25 марта 2011

У меня есть следующий код, с которым мне нужна помощь, я пытаюсь добиться того же с jQuery. Я нашел несколько подходящих решений, но я все еще ищу идеальное решение.

function getData(dataSource, divID)
    {
if(XMLHttpRequestObject) {
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("GET", dataSource);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
obj.innerHTML = XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(null);
}

}

Прямо сейчас я запускаю функцию:

<input type = "button" value = "TEST" onclick = "getData('subject_selectAJAX.php?course_id=1', 'ajax')">

Я бы хотел добиться того же с помощью jQuery. Я думаю, что следующая функция, хотя и неправильная, приближается, моя проблема заключается в том, что URL меняется в зависимости от того, где находится пользователь в курсе. course_select.php изначально загружается в div #ajax, который затем будет заменен

function getData() {

    //generate the parameter for the php script
    $.ajax({
        url: "something.php", //i want this to be passed to the function 
        type: "GET",        
        data: data,     
        cache: false,
        success: function (html) {  

            //add the content retrieved from ajax and put it in the #ajax div
            $('#ajax').html(html);

            //display the body with fadeIn transition
            $('#ajax').fadeIn('slow');       
        }       

}); }

Мне бы очень хотелось помочь с этим, в настоящее время я запутался, уверен, что это то, что поможет другим новичкам в Ajax jQuery.

1 Ответ

0 голосов
/ 03 апреля 2011

Кажется, это работает, хотя я уверен, что это может быть намного чище, и я все же хотел бы добавить какую-то графику загрузки для более медленных соединений.

<script type="text/javascript">

function getData( url, id ){
     $.ajax({
          type: "GET",
          url: url,
          data: "id=" + id,
    cache: false,
          success: function(html){
                     $('#ajax').hide();

                    //add the content retrieved from ajax and put it in the #content div
                    $('#ajax').html(html);

                    //display the body with fadeIn transition
                    $('#ajax').fadeIn('fast');



        })

};

</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...