我创建了一个名为“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中它不起作用。它给出了定义的警报错误消息
上面的ajax调用error: function (textStatus) {alert("ERROR");}
。
我使用$ .get(),$(“#divMyMarkup”)。load(serviceUrl,callback)尝试了这个功能。 我也通过将数据类型更改为json,jsonp,html来尝试此操作。 我仍然没有得到确切的解决方案。
这里有专家吗?
答案 0 :(得分:3)
在另一个应用程序中使用Jquery
根据我的经验,IE不会尊重跨域策略,让您拨打电话,而不是参考...
找出答案的唯一方法是让你的html页面/ JQuery脚本在Firefox上从http://localhost:1676/ICallWcfServicesWithJQuery.html
调用你的WCF服务。
可能的解决方案:
在多个浏览器上测试,添加1盎司杜松子酒,一罐滋补品,你会很好!