0
我有一個WCF服務,它返回一個字符串。我正在嘗試使用跨域JsonP請求來調用它。這是在IE中工作,但沒有其他瀏覽器。我在Firefox和Chrome中收到解析器錯誤。通過跨域JSONP AJAX呼叫通過WCF服務檢索HTML字符串
從閱讀各篇文章我似乎認爲,可能服務需要返回結果作爲一種不同的格式。任何想法都會有所幫助,這裏是我的代碼。
WCF服務代碼
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
public string SponsorLayout2(string projectScope, int projectYear, int imageHeight)
{
// Mock data
projectScope = "uk";
projectYear = 2012;
imageHeight = 42;
// Get projectId
var project = Projects.GetProjectByProjectScopeAndYear(projectScope, projectYear);
// Get project sponsor layouts
var projectSponsorLayout = ProjectSponsorLayouts.GetProjectSponsorLayout(project.Id, imageHeight);
// Return the sponsors
if (projectSponsorLayout != null)
return projectSponsorLayout.Body;
return null;
}
jQuery的AJAX調用
$.ajax({
cache: false,
type: "GET",
async: false,
data: {},
url: "http://127.0.0.1:8082/HtmlService.svc/SponsorLayout2",
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
crossDomain: true,
success: function (data) {
alert("success");
},
error: function (xhr) {
alert("error");
alert(xhr.statusText);
},
complete: function(jqXHR, textStatus) {
alert(textStatus);
}
});