문자열을 반환하는 WCF 서비스가 있습니다. 크로스 도메인 JsonP 요청을 사용하여 호출하려고합니다. IE에서는 작동하지만 다른 브라우저에서는 작동하지 않습니다. Firefox 및 Chrome에서 파서 오류가 발생합니다.크로스 도메인을 통한 WCF 서비스를 통한 HTML 문자열 JSONP AJAX 호출
다양한 기사를 통해 독서에서 나는 아마도 서비스가 결과를 다른 형식으로 되돌려 줄 필요가 있다고 생각하는 것 같습니다. 모든 아이디어가 도움이 될 것입니다, 여기 내 코드입니다.
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({
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);
}
});