Загрузка jQuery в переменную

Мне нужно вставить результат загрузки jQuery в переменную.

Содержимое элемента с тегом id на странице ajax.html.

$('#result').load('ajax.html #test');

Ответ 1

$(document).ready(function(){
    $('#result').load('/ p#name', function(result) {
        var obj = $(this).find('p#name'), html = obj.html();
        obj.css({'font-size':40});
        $(this).append($('<div>').text(html));
    });
});

Пример в JSFiddle http://jsfiddle.net/kuroir/stD94/

Ответ 2

Попробуйте вместо jQuery.get.

Eg.

$.get('ajax.html', function (data) {
    data = $(data).find('#test');
    // data contains your html
});

Ответ 3

$('#result').load('ajax.html #test', function(result) {
    var variable = $('#result').html();
});

Ответ 4

Более или менее делать то же самое, что и выше, но проще:

var dt;
    $.get("ajax.html", function (data) {
        dt = data;
        // data contains your html
    });

Ответ 5

Я отправляю это сообщение во все потоки stackoverflow, которые запрашивают помощь в перезаписи данных из jQuery ajax-метода в переменную, а не в элемент HTML, потому что мне было трудно найти решение, которое будет работать. Я, наконец, нашел решение, и я просто хочу поделиться с кем-то, кто с трудом справляется с этим.

Моя проблема заключалась в том, что я действительно боролся с получением результатов jQuery ajax в мои переменные на этапе document.ready событий.

Мои тесты показали мне, что jQuery ajax будет загружаться в мои переменные, когда пользователь запускает событие "onchange" окна выбора после того, как страница уже загружена, но данные не будут передавать переменные при первой загрузке страницы. Но я не хотел запускать какой-либо аякс на моем событии "onchange" ; Я хотел, чтобы переменные, подаваемые с данными ajax на загрузку страницы, обрабатывали работу. Эти переменные используются для изменения данных "на лету", когда пользователь запускает событие "onchange" . Таким образом, нет лага /ajax, когда пользователь взаимодействует с формой; данные доступны после загрузки страницы.

Я пробовал много, много и много разных методов, но в конце концов, мне нужен был код в этом потоке stackoverflow: JQuery - сохранение ответа ajax в глобальной переменной

Я использовал ответ Чарльза Гильберта. Используя его ответ, я могу получить данные в своих переменных, даже когда моя страница загружается.

Вот пример рабочего script - надеюсь, что это кому-то поможет!

jQuery.extend
(
    {
        getValues: function(url) 
        {
            var result = null;
            $.ajax(
                {
                    url: url,
                    type: 'get',
                    dataType: 'html',
                    async: false,
                    cache: false,
                    success: function(data) 
                    {
                        result = data;
                    }
                }
            );
           return result;
        }
    }
);

// Option List 1, when "Cats" is selected elsewhere
optList1_Cats += $.getValues("/MyData.aspx?iListNum=1&sVal=cats");

// Option List 1, when "Dogs" is selected elsewhere
optList1_Dogs += $.getValues("/MyData.aspx?iListNum=1&sVal=dogs");

// Option List 2, when "Cats" is selected elsewhere
optList2_Cats += $.getValues("/MyData.aspx?iListNum=2&sVal=cats");

// Option List 2, when "Dogs" is selected elsewhere
optList2_Dogs += $.getValues("/MyData.aspx?iListNum=2&sVal=dogs");

Ответ 6

Попробуйте $.ajax. $.load - это просто ярлык.

Ответ 7

Если вы хотите точно загрузить func, попробуйте следующее:

var temp;
$(new Object()).load('YourUrl', { param: "smth" }, function(data){
  $('#element').prepend(data); //if you want prepend/append result to some html
  temp = data; //if you want put to variable
});

Ответ 8

$('#submit').click(function(){ var taval = $("#message").val();
$("#showcomment").load('comments.php', {commentval:taval}) });

Ответ 9

Используйте setTimeout

<script> 
    my_var=$('#hidden').load('new.html');
    setTimeout(function(){
        my_var=my_var.html();
        alert(my_var);
    }, 500);
</script>