私は sencha touch 2.1 を使用してモバイル Web アプリに取り組んでいます。現在、ログインシステムを作っています。これを行うには、ユーザー名とパスワードを使用して、ローカルマシンからリモートサーバーにajaxリクエストを送信しています。しかし、私はこのエラーが発生し続けます
XMLHttpRequest cannot load http://something.com/login.php?_dc=1362983327250. Origin http://dev.vclouds.com is not allowed by Access-Control-Allow-Origin.
上記のエラーhttp://dev.vclouds.com
は私のlocalhost
. このようにApache構成で設定しました。
これがajaxリクエストの私のコードです
Ext.Ajax.request({
url: 'http://something.com/beta/webservice/login.php',
method: 'post',
params: {
user_name: username,
user_password: password
},
success: function (response) {
var loginResponse = Ext.JSON.decode(response.responseText);
console.log(loginResponse);
if(loginResponse.success === "true") {
me.sessionToken = loginResponse.sessionToken;
me.signInSuccess();
} else {
me.signInFailure(loginResponse.message);
}
},
failure: function (response) {
me.sessionToken = null;
me.signInFailure('Login failed');
},
callback: function (opts, success, response) {
console.log('callback');
console.log(opts);
console.log(success);
console.log(response);
}
});
どうすればこの問題を解決できますか?
アップデート
次のようにJsonPも試しました
Ext.data.JsonP.request({ //<-- line 35
url: 'http://something.com/beta/webservice/login.php',
callbackKey: 'callback',
//method: 'post',
params: {
user_name: username,
user_password: password
},
callback: function (opts, success, response) {
console.log('callback');
console.log(opts);
console.log(success);
console.log(response);
}
});
しかし、私はこのエラーが発生しています
Uncaught TypeError: Cannot call method 'request' of undefined Login.js:35