从jQuery调用WCF时接收“拒绝访问”

时间:2011-12-20 18:03:44

标签: jquery ajax wcf

我尝试了很多方法让jQuery在没有错误的情况下调用WCF服务,但没有运气。我的WCF服务位于主站点的子域中。我在ajax调用之前尝试添加以下内容:

jQuery.support.cors = true;

但我收到了“拒绝访问”消息。如果我发表评论并使用:

document.domain = "mylightdisplay.com";

我收到了“ No Transport ”消息。

任何人都遇到过这种情况并找到解决这些例外的解决方案吗?当我使用localhost本地主站点并且我正在尝试连接到远程服务器上的Web服务时,它可以工作。在测试这种情况时,我正在使用Web Matrix。

以下是我们要求的代码段:

function populateData() {
    $.support.cors = true;
    $.ajax({
        type: "GET",
        url: "http://mydomain.com/myservice.svc/GetInfo",
        dataType: "json",
        success: function(msg) {
            ...
        },
        error: function (msg) {
            ...
        }
    });
}

2 个答案:

答案 0 :(得分:0)

Gaylord先生,我们需要更多信息。

您能否为我们提供尝试连接的完整代码段,以及您尝试连接的WCF方法?

在此期间,请检查子域问题。我知道jQuery不喜欢因为XSS措施而对Web服务进行跨域调用...有时需要JSONP来解决这个问题。我没有尝试使用子域名,但是跨域域肯定是个问题。

答案 1 :(得分:0)

知道了!不得不将以下内容添加到ajax调用中:

jsonpCallback: "MyMethodResult",
dataType: "jsonp",