2

ドキュメントから必要なものをすべて読み込んでインターネット接続を有効にしましたが、すべてのインターネット リクエストが404リターン コードで受信されます。

アクセスしようとしているファイルがドメイン全体で評価可能であることはわかっています。ここで見られる:http://jsfiddle.net/hutber/VN864/

ここに画像の説明を入力

アプリ内でこれと同じコードを実行していますが、クリック404するとアラートで返されます。

私が実行している接続をテストするには:

    var networkState = navigator.connection.type;

    var states = {};
    if(typeof Connection!=="undefined"){
        states[Connection.UNKNOWN]  = 'Unknown connection';
        states[Connection.ETHERNET] = 'Ethernet connection';
        states[Connection.WIFI]     = 'WiFi connection';
        states[Connection.CELL_2G]  = 'Cell 2G connection';
        states[Connection.CELL_3G]  = 'Cell 3G connection';
        states[Connection.CELL_4G]  = 'Cell 4G connection';
        states[Connection.CELL]     = 'Cell generic connection';
        states[Connection.NONE]     = 'No network connection';

        alert('Connection type: ' + states[networkState]);

これにより、期待どおりに接続が返されます。現在WiFi connection

config.xml

<access origin="*" />
<feature name="NetworkStatus">
    <param name="android-package" value="org.apache.cordova.NetworkManager" />
</feature>

AndriodManiest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

JSは上記のhttpリクエストを呼び出すために使用されました

            $.ajax({
                url: 'http://stage.sexdiaries.co.uk/app/users/login',
                type: 'post',
                data: {
                    'uname': values.uname,
                    'pword': values.pword
                },
                crossDomain: true,
                error: function(data){
                    c(data.status);
                },
                success: function(data){
                    c('success: '+data);
                    data = JSON.parse(data);
                    if(data.privateKey){
                        $.jStorage.set('uid',data.ud.uid); //store user ID in the localStorage to persist
                        sessionStorage.setItem('privateKey',data.privateKey); //store privateKey in session so it disapears when the user closers the tab
                        Backbone.history.loadUrl('');
                    }
                }
            });

だから私は接続がアクティブであることを知っています。私は本当に関係がありますか?私はクレイジーですか?この http リクエストに到達するにはどうすればよいですか?

iFrame で情報を追加

<iframe width="560" height="315" src="http://stage.sexdiaries.co.uk" frameborder="0" allowfullscreen></iframe>

これにより、次のエラーが発生します。

ここに画像の説明を入力 100% インターネットにアクセスできるようにするために、100% 機能するはずの iframe を追加しました。

4

2 に答える 2

0

サーバーへのアクセスを許可するのを忘れた可能性があると思います.config.xmlファイルを使用して、テストのためだけにすべてのURLへのアクセスを許可することができます.

于 2013-10-10T09:00:28.647 に答える