0

我即将完成我的应用程序,当尝试放入在线服务器时,我发现了一些问题......

我的代理不适用于 ajax 问题,我需要放置 jsonp 并配置我的 drupal 以使用 JsonP。

前:

        proxy: {
        type: 'ajax',
        url: 'http://mydomain/json-art',

        reader: {
            type: 'json',
            rootProperty: 'nodes'
        },
    }

后:

        proxy: {
        type: 'jsonp',
        url: 'http://mydomain/json-art',
        callbackKey: 'callback',

        reader: {
            type: 'json',
            rootProperty: 'nodes'
        },
    }

然后在 Drupal 7 中放... JsonP 前缀:Ext.data.JsonP.callback1

而且..一切正常。

但是..我的应用程序中有 4 个商店,并尝试在我的其他商店中回复此配置。并且只适用于第一个。我尝试将 callback1 更改为 callback2、callback3 等。但总是有相同的错误:

对象 [对象对象] 没有方法 'callback4'

我不知道在我的应用程序中使用 callbackKey 的正确方法是什么,请帮助我!!!

谢谢

4

2 回答 2

0

无需在代理中指定回调(如果可能,则不确定)。只需摆脱“callbackKey”参数,它应该可以工作。Sencha 在使用 jsonp 时会自动放置一个回调参数。

于 2012-06-04T22:57:12.153 回答
0

我从“互联网”中得出的结论是,drupal JSONP 前缀要么是要使用的设置字符串,要么是要检查的 url 变量的名称。如果将 JSON 前缀设置为“回调”,它应该可以正常工作。这是因为 Sencha JsonP 调用会自动附加一个名为“callback”的 url 参数,其中包含要调用的函数的名称(通常是 Ext.data.JsonP.callback#number#.

请注意,您的解决方案甚至不适用于一个数据存储。不完全确定为什么你会得到你得到的行为,但每个 JsonP 调用应该有一个不同的回调函数名。

于 2012-06-12T11:22:46.370 回答