私は、html5、css、js、および jQuery Mobile を使用して phonegap アプリを開発しています。既に完了し、完全に機能している Web サービスに接続する必要があります。問題は、Access Control Allow Origin と Cross Domain です。さらに、Web サービスへの接続に不可欠な認証についても考えなければなりません。私はすでに調査を行い、多くの記事を読み、多くの解決策を試しましたが、そのうちのいくつかは、最も近いものに見えるjsonPを使用していました。問題は、私はこれが初めてで、見栄えの良いチュートリアルがないため、ここの誰かが私を導いてくれることを願っています. webService は asp.net で構築されており、必要に応じて完全にアクセスできます。AJAX を使用して「呼び出し」を行っていますが、ForeFront 認証を渡すことができません。
JS+AJAX コードは次のとおりです。
function conteudoProg() {
var webMethod = "myURL";
var credentials = {
username : "myUser",
password : "myPass"
};
$.ajax({
type : "GET",
url : webMethod,
//data: credentials,
contentType : "application/json; charset=utf-8",
dataType : "jsonp",
success : function(msg) {
alert(msg);
},
error : function(e) {
alert(e.status + " " + e.statusText );
}
});
}
dataType を jsonp から json に変更すると、次のエラーが発生します。
OPTIONS https://myURL 440 (Login Timeout)
XMLHttpRequest cannot load https://myURL Origin http://127.0.0.1:8020 is not allowed by Access-Control-Allow-Origin.
jsonp の場合、エラーは次のようになります。
Resource interpreted as Script but transferred with MIME type text/html: "https://myURL/CookieAuth.dll?GetLogon?curl=Z2FWSInqueritosZ2FServ…1820135927463_1359737732559Z26_Z3D1359737732605&reason=0&formdir=3". jquery-1.8.2.min.js:2
Uncaught SyntaxError: Unexpected token <