Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将AJAX与jQuery结合使用_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Javascript 将AJAX与jQuery结合使用

Javascript 将AJAX与jQuery结合使用,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我如何才能获取XML文件中的信息,并将其读入对象上的数组,以便能够从任何函数访问它?最好的办法是什么?我正在使用jQuery和AJAX 谢谢,埃利奥特·博纳维尔 编辑:以下是我到目前为止的一些示例代码: function GetQuestions() { $.ajax({ type: "GET", url: "questions.xml", dataType: "xml", succ

我如何才能
获取XML文件中的信息,并将其读入对象上的数组,以便能够从任何函数访问它?最好的办法是什么?我正在使用jQuery和AJAX

谢谢,埃利奥特·博纳维尔


编辑:以下是我到目前为止的一些示例代码:

function GetQuestions() {
        $.ajax({
            type: "GET",
            url: "questions.xml",
            dataType: "xml",
            success: function(xml) {
                x = 0;
                x = $(xml).find('Questions').length;

                var questionID = $.random(x);

                //Here's where I need to iterate through the questions to find the one with the ID specified by the random var above.
            }
        }
    }
您可以使用:

由于您希望“从任何函数访问它”,可能需要将XML转换为JSON

没有内置的功能可以做到这一点-你需要一个像这样的插件


这也引出了一个问题——为什么不首先从服务器返回JSON呢?

这与jquery xml reader一样。。
$.get('/path/to/file.xml', function(data){
    alert('xml loaded.');
}, 'xml');
您需要逐个节点读取并插入数组,然后使用serializeArray jquery函数将数组序列化为json格式,我没有检查代码,但这可能是您需要的

 $(document).ready(function(){
        var mystuff = new Array();
        $.ajax({
            type: "GET",
            url: "sites.xml",
            dataType: "xml",
            success: function(xml) {
                mystuff = $(xml).find('site');
            }
        });
       var serialized = mystuff.serializeArray()
    });

我了解AJAX的工作原理,但我是一个使用jQuery的新手,不知道正确的语法。我已经在psuedocode中解决了所有问题,但不幸的是,这没有帮助。尽管如此,谢谢回复。我只想把加载的数据存储在一个对象中。。。我还不够清楚吗?但是,如果这是我所需要的,它会起作用的+1@Elliot博纳维尔-我明白你想要什么,我只是不明白你为什么想要。如果要通过JavaScript定期处理这些数据,需要将其转换为JSON。你知道我的意思吗?换句话说,你想用javascript中的对象做什么?不,恐怕你又误解了我。我从一个XML文件中获取信息,并将其读入我的JS程序。我需要将它存储在一个对象中,但不转换它或任何东西,因为我已经介绍过了。我只需要把每个变量读入一个对象。。。也许我最好发布一些示例code.Grr。是的,我刚刚开始使用jQuery和AJAX,谢谢你的帮助。如果我能投两次票,我会的。
 $(document).ready(function(){
        var mystuff = new Array();
        $.ajax({
            type: "GET",
            url: "sites.xml",
            dataType: "xml",
            success: function(xml) {
                mystuff = $(xml).find('site');
            }
        });
       var serialized = mystuff.serializeArray()
    });