我有一个Sencha Touch 2应用程序。
目前,我使用JsonP将身份验证信息发送到服务器API(POST),服务器以Json对象(作为JsonP传递)进行响应。服务器还发送一个Cookie
重新加载应用程序时,Cookie不会保留。
我需要在Sencha Touch应用程序中维护cookie ...知道怎么做吗?
感谢西蒙妮
Ext.data.JsonP.request({
url: AshtonConfigurations.logOn,
callbackKey: 'callback',
method: 'POST',
//-----------------
withCredentials: true,
useDefaultXhrHeader: false,
//-----------------
params: {
UserName: username,
Password: password,
RememberMe: 'true',
DeviceTokenNotification: pushIdToken
},
由于JsonP使用JS嵌入式标签从远程URL提取数据,因此它不支持POST。并且出于同样的原因,HTTP标头和Cookies将无法使用。
阅读此以获得更多信息:http://docs.sencha.com/touch/2-1/#!/api/Ext.data.proxy.JsonP
如果要交换Cookie,则必须使用Ajax代理与启用了CORS的服务器通信。
仅供参考,桌面浏览器的安全策略与捆绑的应用程序的Web视图不同,因此一旦构建应用程序,AJAX即可与远程服务器一起使用。如果您想采用这种方式,则必须通过该线程来讨论如何进行开发]
How to use json proxy to access remote services during development
有些人建议使用GET请求进行更新,但我不建议这样做。