1
Webサービスプロジェクトを実行すると、クライアントのアプリケーションのDOJOコードをダウンロードするデフォルトのページにリダイレクトされたASP.NET HttpHandlerを使用してRESTful Webサービスを構築しました。ここDOJOをRESTfulなWebサービスで使用する
ダウンロードしたファイルからコードスニペットです:
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 rest apiを有効にする必要があります。有効にする方法については、IISのヘルプを参照してください。 –
まさに! ... customHeaders> httpProtocol> またヘッダー:{ "X-Requested-With":null }をクライアント側のdojo.xhrPost()関数に渡されたxhrArgsに挿入します。 –
AymanKun