1

Senchatouch2アプリを作成しています。

ローカルのphpファイルからjsonデータを取得するストアがあります。

これは、Google Chrome(localhost)で実行すると正常に機能します。リストには正しいデータが入力されます。ただし、アプリをAndroidシミュレーターにデプロイすると、リストにデータが入力されず、LagCatに次のメッセージが表示されます。

0 [警告][Ext.data.reader.Reader#process]サーバーから返されたJSONを解析できません:エラー:無効なJSON文字列をデコードしようとしています:<?php //Contents of the php file ?>

私の店:

Ext.define('app.store.Info', {
    extend: 'Ext.data.Store',
    requires: [
    ],
    config: {
        model: 'app.model.info',
        autoLoad: true,
        proxy: {
            type: 'ajax',
            url: 'getinfo.php',
            reader: {
                type: 'json'
            }
        }
    }
});

私のphpファイルはjson_encodeを使用して配列をjsonに変換します。

Chromeでテストすると動作するので、phpファイルが正しいことはわかっています。Androidアプリでphpを実行するために何か特別なことをしなければならないのではないかと思います。

4

4 に答える 4

0

Webのどこからでもjsonをフェッチできます。このチュートリアルを試してください。

http://www.vogella.com/articles/AndroidJSON/article.html

于 2012-09-30T03:19:47.770 に答える
0

数日前に同様の問題が発生しました。私の場合、問題はコード内のJSON応答文字列を解析する方法にありました。結果の文字列をLogcatに出力し、エラーコード、または最初に追加された無効な文字列を確認しましたか?

于 2012-09-30T06:51:33.080 に答える
0

私は2つの提案があります

  1. AndroidからPHPのJSONをキャッチするWebサービスを作成する

  2. httpGetを作成してjsonファイルを含むリンクをハードコーディングし、Androidでデコードします

于 2012-09-30T06:55:22.000 に答える
0

PHPファイルをAndroid内に配置して、JSON出力を期待することはできません。PHPインタープリターがAndroid内で機能していないためです。ただし、PHPファイルをコンピューター(Apache)内にデプロイして、Androidから参照することはできます。

于 2012-09-30T07:25:49.940 に答える