0

我有一个 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
    },
4

1 回答 1

2

由于 JsonP 使用 JS 嵌入标签从远程 URL 获取数据,所以它不支持 POST。出于同样的原因,HTTP 标头和 Cookie 将不起作用。

阅读此内容以获取更多信息:http ://docs.sencha.com/touch/2-1/#!/api/Ext.data.proxy.JsonP

如果要交换 cookie,则必须使用 Ajax 代理与启用了 CORS 的服务器通信。

仅供参考,桌面浏览器的安全策略与捆绑应用程序的 webview 不同,因此一旦您构建了应用程序,AJAX 就可以与远程服务器一起使用。如果你想那样做,你必须通过这个讨论如何进行开发的线程

开发过程中如何使用json代理访问远程服务

有些人建议使用 GET 请求进行更新,但我不推荐。

于 2013-03-04T13:35:57.700 回答