Sencha代理错误 - 未捕获的SyntaxError:意外的令牌:

时间:2013-12-30 18:46:36

标签: extjs proxy sencha-touch

尝试使用sencha代理 - 但没有运气 - 我收到错误 - 未捕获的SyntaxError:意外的令牌:

    Ext.define('The.store.Login', {
        extend: 'Ext.data.Store',
        config: {
            model: 'The.model.Login',
            proxy: {
                type: 'jsonp',
                url: 'THE_URL_THAT_RETURNS_JSON',
                headers: {
                        'Access-Control-Allow-Origin': '*',
                        'Content-Type': 'application/json',
                        'Authorization': 'THE_AUTH_BASE64_ENCODED_KEY'
                },
                reader: {
                    type: 'json',
                    rootProperty: 'd'
                }
            },
            autoLoad: false

        }
    });

这是我的sencha代码

回来的json是 -

    {
    "d" : [
    {
    "__metadata": {
    "uri": "States", "type": "State"
    }, "CountryCodeString": "USA", "StateCode": "AA", "ActiveFlag": true, "StateDescription": "Americas"
    }, {
    "__metadata": {
    "uri": "States", "type": "State"
    }, "CountryCodeString": "CAN", "StateCode": "AB", "ActiveFlag": true, "StateDescription": "Alberta"
    }, {
    "__metadata": {
    "uri": "States", "type": "State"
    }, "CountryCodeString": "BRA", "StateCode": "AC", "ActiveFlag": true, "StateDescription": "AC"
    }, {
    "__metadata": {
    "uri": "States", "type": "State"
    }, "CountryCodeString": "AUS", "StateCode": "ACT", "ActiveFlag": true, "StateDescription": "ACT"
    }, { .....

2 个答案:

答案 0 :(得分:1)

如果您使用JsonP,则需要从服务器进行回调。即。

callback4587({"json":"here"})

callback将由ExtJS框架自动作为参数发送,服务器需要使用相同的callback进行响应。

如果您使用Ajax请求,则不需要callback。但是,您需要在服务器配置中设置跨源访问。

答案 1 :(得分:1)

将您的代理类型更改为ajax。

从不同域中的服务器检索数据时需要Jsonp。