我正在使用 sencha touch 2.1 开发移动网络应用程序。目前我正在制作一个登录系统。为此,我正在从本地计算机向远程服务器发送 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