1

私はこの問題に費やした過去2日半で文字通り髪を失いました...

phonegap を使用して iPhone および Android 用のアプリを作成します。クロス ドメイン ajax は、私のブラウザーと iPhone でも動作します。Android では動作しません。

Androidでクロスドメインを動作させるためにモバイルバージョンを使用する必要があることをどこかで読むまで、私はjQueryMobileを使用していません.jQueryだけです。だから私は jMobile に合うようにプロジェクトを変更しました。クロスドメイン ajax を機能させるために、本当に JqueryMobile を使用する必要がありますか?? できれば使わないほうがいいです。

$.mobile.allowCrossDomainPages=true; のように変更してみました。$.support.cors = true; 無駄に。私は途方に暮れています。私を助けてください

これが私のajaxコードです

$.ajax({
    url: 'URL',
    type: 'GET',
    contentType: "application/json",
    dataType: 'jsonp',
    jsonp: 'jsoncallback',
    success: function(response){
        console.log("inside ajax");
        $.each(response, function(i,item){
            var category = "<div class='icon-text'><a class='ajaxify' href='pages/onlineRecipe.html' onclick='$(setOnlineID("+item.id+"))' >"
                +"<p><img alt='Image-alt' width='64' class='wrap-around' id='img"+item.id+"' />"
                +"<strong>"+item.title+"</strong>"
                +"<br/>"+item.desc+"</p></a></div>";

            $('#categories').append(category);
            var img = "#img" + item.id;
            $(img).attr('src', "data:image/png;base64,"+item.image);
            //other bindings
            App.ajaxLinkify($("a.ajaxify"));
            App.addTouchEvents($(".page"));
        });
    },
    error: function(xhs, status, error){
        //output.text('Ha producido un error cargando el dato. Por favor, intèntalo de nuevo.');
        console.log("Ajax not working");
    }
});
4

3 に答える 3

0

res/xml/config.xml (cordova 2.3)をチェックインすることをお勧めし<access origin="http://www.example.com" />ます。

于 2013-01-14T14:15:54.127 に答える
0

これを追加してみてくださいjQuery.support.cors = true;

ああ、もう1つのヒント。以前の悪い呼び出しをキャッシュしている場合に備えて、これをajaxに追加します

cache: false,
于 2013-01-14T14:38:42.957 に答える