2

外部 Web サイトから AJAX 経由でデータを読み取るアプリケーションを作成しました。正常に動作しますが、別の質問で、Webworks または Phonegap を使用して BlackBerry 7 用にパッケージ化する場合は、CORSと呼ばれるものを使用する必要があることがわかりました。

次のスクリプトを変換して、「CORS」を使用する以外は同じことを行うにはどうすればよいですか?

    <script type="text/javascript">
        $("#page_all").live('pagebeforecreate', function() {
        $.get('http://mysite.com/mobile/data/data_all.php',function(data){
            $('.content').empty();
            $(data).find('market').each(function(){
                var $market = $(this);
                var html = '<div class="data">';                      
                html += '<div data-role="collapsible" data-collapsed="true" data-theme="b"><h3>' + $market.attr('date') + '</h3>';
                html += '</div>';
                $('#result').append(html).trigger( "create" );
                $('#result .loading').remove();
            });                        
        });
        });
    </script>
4

2 に答える 2

4

おそらく、他のドメイン名からドメイン (ontariosheep.org) にヒットしている可能性があり、それがクロスドメインを投票にもたらします。

CORS はこれを解決するための単なる方法でありdata_all.php、応答ヘッダーにもプロパティを含めるように設定する必要があるのは、ホストするサーバーである必要があります。

Access-Control-Allow-Origin: *

または、 JSONPと呼ばれる他の一般的な方法を使用できます。

JSONP メソッドを使用すると、呼び出しは次のようになります。

var url = "http://ontariosheep.org/mobile/data/data_all.php";
$.get(url + "?callback=?", function(data) {
    // your method body     
});
于 2012-06-04T13:12:19.333 に答える
-2

具体的には、jquery で CORS をオンにすることができます

$.support.cors = true;

また、ウィジェット構成を正しく構成し (config.xml)、追加してください。

<access uri="*" /> 

または少なくとも

<access uri="ontariosheep.com" />
于 2012-06-11T15:52:51.353 に答える