ネイティブ アプリの場合に Ajax リクエストを phonegap プラグインに委任するために、XMLHTTPRequest の動作をオーバーライドしようとしています (https 証明書認証チャレンジを処理します)。
アプリケーションがネイティブ コンテナで実行されている場合、
- 現在の HTTP 呼び出しをキャンセル
- HTTP 呼び出しを実行するために phonegap プラグインを呼び出します
- HTTP レスポンスを受信する
- http 応答要素を使用して、現在の XMLHttpRequest インスタンスでイベントをトリガーします
私のアプリは、同じソース コードを使用して、ネイティブの Web コンテキストで実行する必要があります。開発者は Ajax 呼び出しをシームレスに行うことができます。
これが私がやろうとしていることのサンプルコードです:
XMLHttpRequest.prototype.send = function() {
var me = this;
me.abort();
cordova.exec(function(httpresult) {
// Query success
// httpresult object contains http response headers and content
// How can onreadystatechange be triggered ???
me.onreadystatechange(httpresult);
}, function(httpresult) {
// Query failure
}, "QueryPlugin", "query", [{
url: me.url,
method: me.method,
data: me.data
// other http query params
}]);
}
http ヘッダーとコンテンツを現在の XMLHttpRequest インスタンスに適切に渡す方法と、onreadystatechange メソッドをトリガーする方法がわかりません。
前もって感謝します、