首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的jQuery生成的列表项没有显示?

为什么我的jQuery生成的列表项没有显示?
EN

Stack Overflow用户
提问于 2013-04-22 23:32:27
回答 2查看 114关注 0票数 0

我有一个名为Platypus.XML的XML文件,我在vs2012中创建一个新的Razor 2网站(_AppStart.cshtml、Default.cshtml等)时,将其添加到Razor 2项目中,与默认情况下提供的文件相同。

XML文件似乎格式良好(此外,它在其他地方被成功地使用):

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<Platypi>
  <Platypus>
    <PlatypusNumber>1</PlatypusNumber>
    <LocationNumber>1</LocationNumber>
    <PlatypusName>CCR, Inc. Site 1 Q &amp; A</PlatypusName>
  </Platypus>
. . .
</Platypi>

我有这个html和jQuery:

代码语言:javascript
运行
复制
. . .
<ol class="round">
    <li class="one">
        <input type="submit" id="submit" value="Get Platypus.XML" />
        <div id="Platypus_Setup"></div>
    </li>

    <li class="two">
        <input type="submit" id="submit2" value="Get Platypus2.XML" />
        <div id="Platypus_Setup2"></div>
    </li>

    <li class="three">
        <input type="submit" id="submit3" value="Get Platypus3.XML"  />
        <div id="Platypus_Setup3"></div>
    </li>
</ol>

    <script>
        $(document).ready(function () {
            $('#submit').click(function () {
                $.ajax({
                    type: "GET",
                    url: "Platypus.XML",
                    dataType: "xml",
                    success: function (PlatypusRec) {
                        var platypusSetup = "<ul>";
                        $(PlatypusRec).find('Platypus').each(function () {
                            var platypusNum = $(this).find('PlatypusNumber').text()
                            platypusSetup += "<li>" + platypusNum + "</li>";
                        });
                        platypusSetup += "</ul>";
                        $('#Platypus_Setup').append(platypusSetup);
                    }
                });
                return false;
            });
        });
    </script>

(我改编自aPress的书"jQuery Recipes",食谱8-8)

不过,混合"Get Platypus.XML“按钮并不会向Platypus_Setup div元素添加任何内容。它也不会抛出错误,它只是完全不做任何事情(我可以看到)。

我在这里错过了什么?

更新

为了回应的“手动点击文件”的建议:

将URL更改为:

代码语言:javascript
运行
复制
http://localhost:53321/XMLFileViewer/Default.cshtml

至:

代码语言:javascript
运行
复制
http://localhost:53321/XMLFileViewer/PLATYPUS.XML

...displays文件,但也包括顶部的消息:

此XML文件似乎没有任何与其关联的样式信息。文档树如下所示。

此外,我在“返回false;”行的前面添加了错误代码:

代码语言:javascript
运行
复制
error: function (xhr, status) {
    alert(xhr.status);
}
return false;

...but我不确定是否正确,因为“状态”是灰色的;运行它并将按钮与新的异常处理程序混合没有什么不同(我没有看到警告框).

更新2

移动上面的异常块:

代码语言:javascript
运行
复制
error: function (xhr, status) {
                    alert(xhr.status);
                }
                });
                return false;

...bolded up在VS2012中的“状态”,但仍然没有错误信息的混合按钮。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-23 16:18:50

Resharper、jsFiddle和Are these problems caught by jsFiddle causing the click event to malfunction?帮助我清理了jQuery;一旦语法正确,它就可以正常工作了:

代码语言:javascript
运行
复制
$(document).ready(function () {
        $('#submit').click(function () {
            $.ajax({
                type: "GET",
                url: "DuckbillSETUP.XML",
                dataType: "xml",
                success: function (platypusSetupRec) {
                    var platypussetup = "<ul>";
                    $(platypusSetupRec).find('platypus').each(function () {
                        var platypusNum = $(this).find('platypusNumber').text();
                        platypussetup += "<li>" + platypusNum + "</li>";
                    });
                    platypussetup += "</ul>";
                    $('#platypus_Setup').append(platypussetup);
                },
                error: function (xhr, status) {
                    alert(xhr.status);
                }
            });
            return false;
        });
    });
票数 0
EN

Stack Overflow用户

发布于 2013-04-22 23:37:55

至少,在下面的代码中将$(Platypus)更改为$(PlatypusRec):

代码语言:javascript
运行
复制
success: function (PlatypusRec) {
    var platypusSetup = "<ul>";
    $(Platypus).find('Platypus')

另外,您指的是哪些文件(视图/控制器/等等)?取决于您的路由,它可能不会捡起它。

我有一个名为Platypus.XML的XML文件,在创建新的Razor 2网站时,我将其添加到Razor 2项目的默认级别上,与默认情况下提供的文件相同

我会尝试从相同的路径手动点击浏览器中的文件。我还会添加一个失败事件来尝试捕获服务器状态代码(404,500等)

代码语言:javascript
运行
复制
error: function(xhr, status) {
    alert(xhr.status); 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16158440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档