jQuery ajax WCF跨域

时间:2011-11-16 21:37:00

标签: jquery ajax wcf cross-domain

所以我有一个基本的WCF服务供直接jQuery / HTML使用,没有asp.net。

我可以通过浏览器对我的test.svc / test进行GET调用,并获得我预期的JSON结果。 的 { “d”:[ “测试1”, “TEST2”, “TEST3”]}

现在,我正在尝试通过jQuery 1.4.x

来使用它
$.ajax({
        type: "GET",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        url: methodUrl,
        data: {},
        beforeSend: function (XMLHttpRequest) {
            XMLHttpRequest.setRequestHeader("Accept", "application/json");
        },
        success: successCallback,
        error: failedCallback
    });

我正在抓取错误信息并将其转储到控制台,这是我的错误。 日志:{“readyState”:4,“status”:0,“statusText”:“error”} 日志:“错误” 日志:{“消息”:“访问被拒绝。\ r \ n”,“描述”:“访问被拒绝。\ r \ n”,“数字”: - 2147024891}

我读过我需要使用JSON-P和/或crossDomainScriptAccessEnabled或其他30个东西。

到目前为止,我还没有看到这个问题的一致解决方案。

任何帮助都将不胜感激。

谢谢! 乔恩

1 个答案:

答案 0 :(得分:0)

无论如何,这对我们的情况来说似乎是一种破坏。

我们正在使用MS Dynamics CRM 2011,它只允许使用JS的普通html页面,并且只支持IE。

我们最终运行了另一个WCF服务,该服务与CRM(破坏要求)位于同一个盒子上,这只是一个代理,反过来调用我们位于另一个盒子上的真实WCF服务。

这很愚蠢,增加了维护的开销,但我们至少能够继续生成JSON而不是JSON-P,以便其他消费者也可以使用它。