0

我有一个显示一些文章的应用程序。该应用程序在本地主机中的 Wamp 上完美运行。我已经在另一台服务器上上传了我的数据库管理。我已经在 J​​SONP 中配置了我的 ArticleStore.js,但是当我运行我的应用程序时,控制台中会出现以下错误:

Resource interpreted as Script but transferred with MIME type text/html: "http://[ip_address]:[port]/totos?_dc=1372152920457&keyword=&page=1&start=0&limit=25&callback=Ext.data.JsonP.callback1"

和 :

Uncaught SyntaxError: Unexpected token :                                 totos:1

当我点击上面的 url 时,我被重定向到显示以下内容的视图:

{"articles_list":[{"id":"28","title":"Prixtel dope son service client avec le forfait Sumo"}],"total":1}

为了简单起见,我测试了只显示一篇文章的标题。这是我点击“totos:1”时第 1 行的 JSON 响应:

{"articles_list":[{"id":"28","title":"Prixtel dope son service client avec le forfait Sumo"}],"total":1}

这是我的 ArticleStore.js 内容:

Ext.define("MyApp.store.ArticleListStore",
{
    extend: "Ext.data.Store",    
    requires: ["MyApp.model.ArticleModel","Ext.data.proxy.JsonP"],
    config: {
    model: "MyApp.model.ArticleModel",
    proxy: {
        type: 'jsonp',
        model: "MyApp.model.ArticleModel",
        url: "http://62.23.96.124:81/totos",
        },
        reader: {
            type: "json",
            rootProperty: "articles_list",
            totalProperty: "total"
        },
    },
        autoLoad: true
    }
});

当我在 Wamp 服务器上直接在 localhost 中启动我的请求时,我的 JSON 响应具有相同的语法(JSON 树架构是相同的)。这是一个例子:

{"articles_list":[{"id":"384","title":"Skype est disponible sur Windows Phone"}],"total":1}

我看不出这两种反应之间有什么区别。但是,我有一个“意外令牌”错误!。如您所见,两个节点“articles_list”和“total”在两个示例的 JSON 树中具有相同的位置。我不明白为什么会出现语法错误。我真的迷路了。有人可以帮助我吗?非常感谢您的帮助。

4

1 回答 1

1

您的服务器没有为 JSON-P 正确格式化响应。JSON-P 本质上需要将您的响应嵌入到一个函数中,该函数由callbackKey您的代理的属性指定:

proxy: {
    type: 'jsonp',
    url : "http://62.23.96.124:81/totos",
    callbackKey: 'myCallbackKey'
}

然后,在您的服务器上,您需要使用该参数来包装您的响应:

myCallbackKey({
    "articles_list": [
        {
            "id":"28",
            "title":"Prixtel dope son service client avec le forfait Sumo"
        }
    ],
    "total":1
})

您可以从此处的文档中了解更多信息:http ://docs.sencha.com/touch/2.2.1/#!/api/Ext.data.proxy.JsonP 。您还想了解更多关于 JSON-P 的用途及其工作原理的信息。在此处了解更多信息:JSONP 到底是什么?

于 2013-06-25T12:36:18.613 回答