0

次のコードを使用してWebサイトからJSONデータを取得しようとしていますが、エラーUncaught SyntaxError:Unexpected identifier at file:/// android_asset / www / projectName.html:1Webサイトからデータを次のように保存すると.jsonファイルは正常にアクセスできますが、Webサイトからアクセスした場合はアクセスできません。Webサイトからこれを機能させるにはどうすればよいですか?

HTML:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
    </script>
<script type="text/javascript">
        $(document).ready(function(){
            $("button").click(function(){
            $.get('http://example.ca/log_sheets.json', function(data) {
                alert('get performed');
                var obj = eval ("(" + data + ")");
                $("p").html(obj[0].log_sheet.activity_type);
            });
        });
    });
</script>
</head>

<body>
    <h2>Heading</h2>
    <p>Display</p>
    <button>Click me</button>
</body>
</html>

JSONデータのサンプル:

[{"log_sheet":{"activity_type":"Normal","activity_value":null,"carbs_value":25.0, ect... }}]

phonegapでhtmlページを実行するコード:

package com.example.projectName;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
import org.apache.cordova.*;

public class MainActivity extends DroidGap {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/projectName.html");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }


}
4

2 に答える 2

0
file:///android_asset/www/projectName.html

リンクはローカル ファイルのように見えるため、Web サーバーでこれを前処理する必要があるものとしてマップしても、そのまま出力されます。

それが実際にプロジェクトの一部である場合は、関連するコードを投稿する必要があるようです.

于 2012-07-30T21:06:41.557 に答える
0

jQuery が JSON を取得していると判断した場合 (サーバー提供の MIME タイプ、 の最終引数$.get(...,'json')、または を使用$.getJSON)、コールバックに渡されるデータは既に JavaScript オブジェクトです。

その場合、あなたはそれをしたくありませんeval

于 2012-07-30T21:54:17.133 に答える