Jquery ajax方法调用禁止接收403的Web服务

时间:2013-04-09 15:15:36

标签: jquery xml ajax json web-services

我有一个带有以下ajax方法的html页面:

$(document).ready(function() {
            $.ajax({
                type: "POST",
            url: "http://www.webservice.com/blahblah.asmx/blahb123",
            data: "tnWsGuid=TEST1",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
                success: function(msg)
                {
                    alert("sucess")
                },
                error: function(e)
                {
                    alert(JSON.stringify(e));                       
                }
                });
        });

这是对我的回复403禁止。一位同事构建了Web服务,我无法访问代码,也没有当前正在休假时更改它的能力。我需要显示这些数据 - 此时我尝试的一切都失败了,并给了我一个403禁止的错误。我已将网址名称和成功功能更改为仅用于显示代码的警告对话框。

另一件事是,json似乎是用XML包装的,来自ASP.NET Web服务,如下所示:

<string xmlns="http://Walkthrough/XmlWebServices/">
{"approverName":"","emailAddress":"","companyName":"ABC","address":{"streetAddress1":"12 BlahBlah","streetAddress2":"","state":"ON","zipCode":"","country":"SO","phoneNumber":""},"tabledata:"[{"vendorPart":"AAAAA","partDescription":"N/A","price":"0.00","quantity":"28"},{"vendorPart":"BBBBBBB","partDescription":"N/A","price":"0.00","quantity":"3"},{"vendorPart":"CCCCCC","partDescription":"N/A","price":"0.00","quantity":"25"}]}
</string>

这不是最初的意图,因为我原本期望收到json但是我现在无法做任何事情,必须用XML处理它,只是尝试将json格式化为json对象。

我也尝试过如下:

$(document).ready(function() {
                $.ajax({
                    type: "GET",
                url: "http://www.webservice.com/blahblah.asmx/blahb123",
                data: "tnWsGuid=TEST1",
                dataType: "xml",
                contentType: "text/xml",
                    success: function(msg)
                    {
                        alert("sucess")
                    },
                    error: function(e)
                    {
                        alert(JSON.stringify(e));                       
                    }
                    });
            });

最后,我将在这里输出来自FireFox的Firebug响应,这是我尝试的两个例子(json / xml)

Json:http://i.imgur.com/zJy4BvD.jpg

XML:http://i.imgur.com/6qiGVwQ.jpg

非常感谢您的阅读!

2 个答案:

答案 0 :(得分:1)

如果调用是跨域调用,则在不使用dataType jsonp时可能会遇到问题。

答案 1 :(得分:1)

删除内容类型标题似乎删除了403 forbidden。