移动应用身份验证/煎茶触摸

Mobile App Authentication/Sencha Touch

本文关键字:触摸 应用 身份验证 移动      更新时间:2023-09-26

我正在尝试使用Sencha Touch编写一个最终针对iOS和Android的应用程序。它应该登录到公司Web服务器,然后检索和解析一些JSON数据。它应该非常简单。但是,我对Sencha和Javascript都很陌生,所以我很难进行这种客户端身份验证。我什至无法从我的开发计算机上的 Web 浏览器对其进行身份验证。

我使用此链接来帮助创建我的登录页面:
http://miamicoder.com/2012/adding-a-login-screen-to-a-sencha-touch-application/

但是当我尝试登录时,我似乎收到以下错误消息和一个空对象:

XMLHttpRequest cannot load https://www.server.com/index.html?=_dc1234567890123
Origin http://localhost:8000 is not allowed by Access-Control-Allow-Origin.

有没有人对让这个应用程序登录有任何建议或好的资源?任何帮助将不胜感激!

Steve,返回"不允许"错误是因为您的登录请求违反了浏览器的同源策略(本质上它声明所有XhrHttpRequests必须转到最初加载页面的同一域)。

某些浏览器提供了暂时禁用此错误的方法(这对于短期开发目的可能很好),但从长远来看,您需要将应用程序托管在与后端服务器相同的域中,或者考虑使用 CORS 或 JSONP 来处理您的请求。

您的 AJAX 请求违反了同源策略。这就是您收到错误消息的原因。如果您使用 chrome 进行调试,则可以通过执行以下操作来禁用跨域 Javascript 安全性:

对于视窗:

1) 在桌面上创建 Chrome 的快捷方式。 右键单击快捷方式并选择属性,然后切换到"快捷方式"选项卡。
2) 在"目标"字段中,附加以下内容:–args –禁用网络安全

对于 Mac,打开终端窗口并从命令行运行以下命令:

打开 ~/Applications/Google'' Chrome.app/–args –disable-web-security

对于 Ubuntu,打开终端窗口并运行以下表单命令行:

打开/usr/bin/并执行 ./google-chrome --disable-web-security

Chrome 有扩展名可以完成这项工作:‪Allow-Control-Allow-Origin.如果要在浏览器启动时激活它,则必须按该图标。