繁体   English   中英

XML解析错误:找不到元素

[英]XML Parsing Error: no element found

我有一个ASP.Net 4.0 Web服务方法,该方法返回格式正确的XML文档。 我已成功在本地浏览器中显示了XML,并将其部署在生产服务器上。

当我尝试通过jQuery ajax调用方法时,出现错误:

XML解析错误:找不到元素位置:moz-nullprincipal:{6c0c99b3-0fed-454f-aa6e-e0fca93a521c}行号1,列1:

        $.ajax(
        {
            url: 'http://mywebservice.com/WebService/Service.asmx/UserData',
            type: 'GET',
            contentType: "text/html; charset=utf-8",
            dataType: "xml",
            data: 'authorizedId=1234&authorizedUser=Test&authorizedCode=xyz',
            'success': function (data) {
                $('#XMLContent').html(data.responseText);

            },
            'error': function (xhr, status) {
                alert(status);
            },
            'complete': function (xhr) {
            }
        });

我尝试更改contentType但结果相同。

但是,我可以像这样用C#进行调用,并得到格式正确的XML:

XmlDocument document = new XmlDocument();
document.Load("http://mywebservice.com/WebService/Service.asmx/UserData?authorizedId=1234&authorizedUser=Test&authorizedCode=xyz");
ViewData["XMLData"] = document.OuterXml;

在我的Web服务web.config中:

<webServices>
  <protocols>
    <add name="HttpGet"/>
    <add name="HttpPost"/>
  </protocols>
</webServices>

谢谢...

如果Web服务与页面不在同一域中,则不能使用AJAX调用从其他域中获取数据。

您可以在应用程序中创建一个代理Web服务,以调用外部Web服务,然后从AJAX / jQuery调用您自己的代理。

http://forum.jquery.com/topic/jquery-ajax-and-xml-issues-no-element-found

希望能有所帮助

谢谢bgs264 ...

现在在我的aspx页面中:

$.ajax(
{
    url: '/Home/WebService',
    type: 'GET',
    contentType: "text/html",
    dataType: "html",
    data: 'authorizedId=1234&authorizedUser=Test&authorizedCode=xyz',
    'success': function (data) {
        alert(data);
        $('#XMLContent').html(data);
    },
    'error': function (xhr, status) {
        alert(status);
    },
    'complete': function (xhr) {
    }
});

在我的MVC控制器中:

public ActionResult WebService(string authorizedId, string authorizedUser, string authorizedCode)
{
        XmlDocument document = new XmlDocument();
        document.Load("http://mywebservice.com/WebService/Service.asmx/UserData?authorizedId=" + authorizedId + "&authorizedUser=" + authorizedUser + "&authorizedCode=" + authorizedCode);
        ViewData["XMLData"] = document.OuterXml;
        return PartialView();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM