我已經創建了一個名爲「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'不會使其工作。你在這裏進行跨域呼叫嗎? –