1
웹 서비스 프로젝트를 실행할 때 클라이언트 클라이언트의 DOJO 코드를 다운로드 할 수있는 기본 페이지로 리디렉션 된 ASP.NET HttpHandler를 사용하여 RESTful 웹 서비스를 빌드했습니다. 여기 DOJO를 RESTful 웹 서비스와 함께 사용
다운로드 한 파일에서 코드입니다 :function PickrWebService(){ self = this; }
PickrWebService.prototype = {
self: null,
urlString: "http://AYMAN/Handler.ashx",
CreateUser:function(Email,Username,Password,FirstName,Surname,Birth,Gender,Mobile,Picture,Address,successFunction,failFunction,token) {
var data = { 'interface': 'PickrWebService', 'method': 'CreateUser', 'parameters': {'Email':Email,'Username':Username,'Password':Password,'FirstName':FirstName,'Surname':Surname,'Birth':Birth,'Gender':Gender,'Mobile':Mobile,'Picture':Picture,'Address':Address}, 'token': token };
var jsonData = dojo.toJson(data);
var xhrArgs = {
url: self.urlString,
handleAs: 'json',
postData: jsonData,
load: successFunction,
error: failFunction };
var deferred = dojo.xhrPost(xhrArgs);
},
CheckUserExistence:function(Email,successFunction,failFunction,token) {
var data = { 'interface': 'PickrWebService', 'method': 'CheckUserExistence', 'parameters': {'Email':Email}, 'token': token };
var jsonData = dojo.toJson(data);
var xhrArgs = {
url: self.urlString,
handleAs: 'json',
postData: jsonData,
load: successFunction,
error: failFunction };
var deferred = dojo.xhrPost(xhrArgs);
}
}
내 클라이언트 응용 프로그램에서이 코드를 사용하는 방법에 대한 도움이 필요하고, 매개 변수를 무엇에 '토큰'참조 ?
고맙습니다. 다음 구현을 사용했습니다. var service = new PickrWebService(); service.CheckUserExistence ("[email protected]", successFunction, failFunction, ""); 이제 XMLHttpRequest 오류가 발생합니다. 'Access-Control-Allow-Origin'헤더가 요청 된 리소스에 존재하지 않습니다. 동일한 원본 정책 문제를 피할 수있는 해결 방법이 있습니까? – AymanKun
서버 측에서 크로스 도메인을 활성화해야합니다 (예 : asp.net 나머지 API). 이를 사용하는 방법에 대한 IIS 도움말을 확인하십시오. –
정확히! 내 서버 쪽 프로젝트의 Web.config 파일에 다음 줄을 중첩했습니다. ... customHeaders> httpProtocol> 또한 헤더 : { "X-Requested-With": null }을 클라이언트 쪽에서 dojo.xhrPost() 함수에 전달 된 xhrArgs에 추가하십시오. –
AymanKun