.each()循环在本地工作正常,但一旦上传到服务器停止工作

时间:2012-08-20 16:48:01

标签: jquery xml loops each

我正在使用jQuery动态填充select元素。选项标签的内容是从xml文档返回的(xml文件本身实际上是一个php文件,但它生成为xml)。就我所见,ajax函数似乎有效,但没有的部分是遍历xml的$ .each循环。真正令我生气的是,当它在MAMP上本地运行时,一切都运行良好,但一旦上线它就无法工作。文件结构与在线完全相同。

这是xml:

<classes>
    <name>MM1</name>
    <name>MM2</name>
    <name>MM3</name>
    <name>MM4</name>
    <name>PR1</name>
    <name>PR2</name>
    <name>PR3</name>
    <name>PR4</name>
</classes>

这是jQuery:

var preview_div_top = $('<div class = "preview_div_top"/>');
var form = $('<form action = ""/>');

$.ajax(
{
    type: "GET",
    async: false,
    url: "xml/get_classes.php",
    dataType: "xml",
    success: function(xml)
    {
        var dropdown = '<select class = "class_list">';

        $(xml).find('name').each(function()
        {                       
            var theClass = $(this).text();
            dropdown += '<option value = "' + theClass + '">' + theClass + '</option>';
        });

        dropdown += '</select>';
        $(form).append(dropdown);
        $(form).append('<input type = "submit" class = "get_schedule_btn">');
    } // end success function           
}); // end AJAX

preview_div_top.append(form);
$('.preview .button').after(preview_div_top);

当我把它放在真实的服务器上时它才停止工作。谁能看到我做错了什么?

1 个答案:

答案 0 :(得分:-1)

您需要确保JavaScript包含良好链接。在Firefox中使用Chrome Debugger Net Panel或Firebug扩展程序等工具。