jQuery加载到变量

hon*_*mer 17 ajax jquery get

我需要从jQuery load到变量的插入结果.

在页面ajax.html上使用id测试的元素的内容.

$('#result').load('ajax.html #test');
Run Code Online (Sandbox Code Playgroud)

Dan*_*lig 25

请尝试使用jQuery.get.

例如.

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

  • `ajax.html #test`语法不适用于`$ .get` (7认同)

Dar*_*rov 11

$('#result').load('ajax.html #test', function(result) {
    var variable = $('#result').html();
});
Run Code Online (Sandbox Code Playgroud)

  • @Alin Purcaru,为什么不必要?我认为OP的目的是将AJAX调用的结果加载到`#results`中,除此之外还将其赋值给变量.如果不是这种情况,显然使用`$ .ajax()`会更好. (3认同)
  • @Jamie Wong,我们都知道AJAX调用的结果仅在回调中可用,因此在此成功回调之外的任何地方设置此变量的值将毫无意义. (2认同)

小智 8

或多或少做与上面相同但更简单:

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


Mar*_*lde 6

$(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));
    });
});
Run Code Online (Sandbox Code Playgroud)

关于JSFiddle的例子http://jsfiddle.net/kuroir/stD94/


小智 5

我在所有寻求帮助将数据从 jQuery ajax 方法填充到变量而不是 HTML 元素的 stackoverflow 线程上发布此消息,因为我很难找到可行的解决方案。我终于找到了解决方案,我只想与遇到此问题的任何人分享。

我的问题是我真的很难在事件的“document.ready”阶段将 jQuery ajax 的结果放入我的变量中。

我的测试表明,当用户在页面加载后触发选择框的“onchange”事件时,jQuery 的 ajax 会加载到我的变量中,但在页面首次加载时数据不会提供给变量。但我不想在我的“onchange”事件上触发任何 ajax;我想要在页面加载时提供 ajax 数据的变量来处理工作。当用户触发“onchange”事件时,这些变量用于动态更改数据。这样在用户与表单交互时就没有延迟/ajax;一旦页面加载,数据就可用。

我尝试了很多很多不同的方法,但最后,我需要的代码在这个 stackoverflow 线程上:JQuery - 将 ajax 响应存储到全局变量中

我使用了查尔斯吉尔伯特的回应。使用他的回答,即使我的页面第一次加载,我也可以将数据放入我的变量中。

这是工作脚本的示例 - 希望对某人有所帮助!

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");
Run Code Online (Sandbox Code Playgroud)