我已经创建了一个名为“Service1.svc”的WCF ajax支持的Web服务“我必须在另一个使用Jquery的应用程序中调用此服务。 我在它的方法创建:Jquery Ajax调用WCF ajax启用Web服务不能在Firefox上工作
[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。 我仍然没有得到确切的解决方案。
这里的任何专家?
为什么不提示错误回调中的textstatus参数而不是字符串。 textstatus的内容可能会对你有所帮助,你也可以使用提琴手来查看xhr调用是否实际完成了吗?它是否以200的状态响应?您的网页是否使用相同的网址和端口?你是否因同样的原产地政策而受到污染? – redsquare
当获取请求时,它给出“405方法不允许localhost:1676”在Firefox和错误:未定义的警报消息。 –
听起来像你正在对我进行跨域呼叫。你说'我的第二个应用程序'是你在做Ajax调用的地方。只是将数据类型更改为'jsonp'不会使其工作。你在这里进行跨域呼叫吗? –