1

phonegapアプリケーションが接続するWCFサービスをデバッグしているときに、2回投稿しているようです。

アプリケーションがブレークポイントなどなしで正常に実行されると、すべて正常に動作し、1 しか受信しません。数秒後にサーバーから応答が返されない場合、ajax が再送信されるように見えます。

これがwiresharkを投げたことを確認する必要がありますが、他の誰かが以前にこれに遭遇したかどうかを知りたかっただけです.

$.ajax({
                type: "POST",
                url: ServicePATH ,
                data: JSON.stringify({ objs: arrayobj, parm2: var2, parm3: var3, parm4: 1 }),
                contentType: "application/json",
                dataType: "json",
                success: function (data, textStatus, jqXHR) {
                    CallonSuccess(data);
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    console.log('error ' + textStatus);
                    console.log('XMLHttpRequest ' + XMLHttpRequest);
                    var str = '';
                    for (prop in XMLHttpRequest) {
                        str += "prop " + prop + " value :" + XMLHttpRequest[prop] + "\n"; //Concate prop and its value from object
                    }
                    console.log(str);
                    console.log('errorThrown ' + errorThrown);
                    console.log('passing ' + JSON.stringify({ objs: arrayobj, parm2: var2, parm3: var3, parm4: 1 }));
                }
            }).done(function () { console.log('Finished ajax'); }); 

ありがとう

4

1 に答える 1

2

おそらく解決策はありません(以下の更新を参照)が、ここでは同じ動作です。

jquery Mobile フレームワークがなくてもすべて問題なく動作し、フレームワークが埋め込まれていれば、json ファイルをもう一度フェッチします。Chrome のコンソールでは、Network: GET status 200 および GET status 304 (not modified) の下に表示されます。

私には jQuery Mobile を捨てる選択肢があり、きっとそうするでしょう。しかし、そこで何が起こっているのかを知ることにも興味があります。

更新: $(document).ready(function() { }); 内に xmlhttprequest がありました。jQuery と jQuery Mobile の両方がそれに反応するようです。

スクリプトをサイトの最後に配置し、ready-method の外で xmlhttprequest を作成すると、json ファイルが 1 回だけフェッチされます。

于 2012-05-07T11:49:59.813 に答える