저는 자바 스크립트에 익숙하지 않습니다. 제게 어려움을주고있는 문제가 있습니다.WCF javascript는 크로스 도메인을 호출합니다
나는 추적 자바 스크립트를 넣고 싶습니다. 이 스크립트는 wcf 서비스를 호출하여 클라이언트 브라우저 정보, 방문한 페이지 및 타임 스탬프를 추적합니다. 문제는 자바 스크립트 호출시 "405 Method Not Allowed"오류가 발생한다는 것입니다. 이 서비스는 다른 도메인에 있습니다. 이제 localhost에서 테스트합니다. 브라우저의 새 페이지에서 호출 할 수 있기 때문에 서비스가 정상적으로 작동합니다. 같은 문제가 발생 했습니까? 이 문제를 어떻게 해결할 수 있습니까?
내 자바 스크립트 코드는 다음과 같습니다
WCF 서비스 코드 :
[ServiceContract(Name = "CustomersAssistantService", Namespace = "CustomersAssistantService")]
public interface ICustomersAssistantService
{
[OperationContract]
[WebGet]
string DoWork();
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
[OperationContract]
string Sum(int n1, int n2);
}
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class CustomersAssistantService : ICustomersAssistantService
{
public string DoWork()
{
return "work done";
}
public string Sum(int n1, int n2)
{
return (n1 + n2).ToString();
}
}
자바 스크립트 호출 :
function CallWcf1(){
var _I = this;
var url = "http://localhost:58399/CustomersAssistantService.svc/customersAssistantService/";
var methodUrl = _I.serviceUrl + 'dowork';
$.ajax({
url: methodUrl,
data: '',
type: "GET",
processData: false,
contentType: "application/json",
timeout: 10000,
dataType: "text", // not "json" we'll parse
success:
function(res)
{
if (!callback) return;
// *** Use json library so we can fix up MS AJAX dates
var result = JSON2.parse(res);
// *** Bare message IS result
if (bare)
{ callback(result); return; }
// *** Wrapped message contains top level object node
// *** strip it off
for(var property in result)
{
callback(result[property]);
break;
}
},
error:
function(xhr)
{
if (!error) return;
if (xhr.responseText)
{
var err = JSON2.parse(xhr.responseText);
if (err)
error(err);
else
error({ Message: "Unknown server error." })
}
return;
}
});
}
내가 뭔가 잘못하고 있습니까?
덕분에 많이, 라두 D
Google 추적 코드의 작동 방식을 알고 계십니까? 나는 그것이 정보 추적을위한 서비스 호출을한다고 가정합니다. –
@ Radu : 나는 당신이 코멘트를 할 때 어떻게 작업할지에 대한 몇 가지 사항을 추가했다. Google은 세 번째 요소 ('script' 요소)를 사용합니다. –
고마워요. 당신은 내 하루를 저장 :) –