ASP.NET,JQuery AJAX XML解析错误

时间:2014-01-09 16:16:20

标签: jquery asp.net ajax xml

我想通过从xml网站获取xml信息来获取我的电话号码。 xml网站能够检测到我的用户ID计算机并给了我一个包含我的电话号码的个人资料列表。

以下是显示的xml示例

<MyData>
 <user>
   <uid>U580784</uid>  
   <sn>Bell</sn> 
   <givenName>James</givenName> 
   <initials>B</initials>  
   <Company>Happy Company</Company> 
   <Department>IT</Department>  
   <co>UNITED STATES</co>  
   <telephoneNumber>888-888-8888</telephoneNumber> 
 </user>
</MyData>

我希望JQuery AJAX从<telephoneNumber>获取电话号码并显示在警告框中。

但是我不断从错误警报中抛出Ajax错误。我想念一下吗?

你会在下面的AJAX中看到一个xml链接,该链接具有唯一的搜索UserID=me意味着只检测访问网站的时间,或者我可以替换为UserID=U555555以获取其他人的电话号码。

这是我的Jquery和asp代码,

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js" type="text/javascript"></script>
   <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
   <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

<script language="javascript" type="text/javascript">

    $(document).ready(function () {

        $("#<%=Button1.ClientID %>").click(function () {

            $.ajax({
                type: "GET",
                url: "http://servername.company.happy.com/common/components/userinfo/UserInfoXml.asp?UserID=me",
                dataType: "xml",
                success: function (xml) {
                    $(xml).find('user').each(function () {
                        var phone = $(this).find("telephoneNumber").text();
                        alert(phone);
                    });
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    alert('Error!'+ textStatus + ' - ' + errorThrown);
                }
            });
        });


    });

</script>

 <h3>Test Test Header</h3>
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <h3>Test Test Main</h3>
    </br>
    <asp:Button ID="Button1" runat="server" Text="Submit" />

    </br>
</asp:Content>

1 个答案:

答案 0 :(得分:1)

我找到了一个简单的答案,这真的很奇怪。 我只需要在Ajax调用之上添加$.support.cors = true;以启用跨源资源共享。 它像subdomain.happy.com不等于subdomain2.happy.com