1

我创建了一个名为“Service1.svc”的启用 WCF ajax 的 Web 服务“我必须在另一个使用 Jquery 的应用程序中调用此服务。” 我在其中创建了方法:

    [OperationContract]             
    public string GetMarkup()
    {   
       string data = "<div>My HTML markup text here</div>";
       return data;
    }

现在我在我的第二个应用程序的 html 页面中创建了 jquery 脚本:

var markup = "";
$.ajax({
    type: "POST",
    url: "http://localhost:1676/MyWCFService.svc/GetMarkup",
    contentType: "application/json",
    data: "{}",
    dataType: "json",
    success: callback,        
    error: function (textStatus) {
        alert("ERROR");
    }
});
function callback(result) {
    alert("Inside Callback");
    markup = result.d;
    $("#divMyMarkup").html(markup);
    alert(markup);
}

现在,我的问题是,每当我在 IE 中执行此页面时,它都可以正常工作。但在 Firefox 中它不起作用。error: function (textStatus) {alert("ERROR");}它给出在上面的 ajax 调用中定义的警报错误消息 。

我使用 $.get(), $("#divMyMarkup").load(serviceUrl, callback) 尝试了这个功能。我还尝试通过将数据类型更改为 json, jsonp, html 来实现这一点。我仍然没有得到确切的解决方案。

这里有高手吗?

4

1 回答 1

3

在另一个应用程序中使用 Jquery

以我的经验,IE不会尊重跨域策略,让你打电话,而不是参考......

找出答案的唯一方法是让您的 html 页面/JQuery 脚本http://localhost:1676/ICallWcfServicesWithJQuery.html在 Firefox 上调用您的 WCF 服务。

可能的解决方案:

在多个浏览器上测试,添加 1 盎司杜松子酒,一罐补品,你会很好!

于 2011-08-05T14:44:41.047 回答