WCF ライブラリを作成し、サーバー (IIS7) に配置しました。「foo.com/test.asmx」のような URL を参照することで、そのフォルダーとそのコンテンツにアクセスでき、そのメソッドは「foo.com/test.asmx/MyMethod」として表示されます。
サーバー(サーバーのローカル)上の同じアプリケーションでページを参照し、URL「foo.com/test.asmx/MyMethod」を使用してメソッドにリクエストを送信すると、結果が正しく取得されます。
しかし、ローカル コンピューターで同じ html ページを参照し、同じ要求を URL "foo.com/test.asmx/MyMethod" に送信すると、ajax 要求がエラー状態になります。(それに加えて、私のコンピューターのlocalhostで正しく動作します)
メソッドに到達できないか、ローカル サーバーから結果を取得できないと思います。
私のajax呼び出し:
var loginInfo = "{ 'username': '" + encodeURIComponent($("#lUsername").val()) + "', 'password': '" + encodeURIComponent($("#lPassword").val()) + "', 'uuid': 'asd'}";
$.ajax({
type: "POST",
//async: false,
crossDomain: true,
url: "http://foo.com/test.asmx/MyMethod",
data: loginInfo,
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (msg) {
var myJsonObj = $.parseJSON(msg.d);
if (myJsonObj.userLoggedIn == 1) {
insertLoginToDB(myJsonObj.username, myJsonObj.userEmail, myJsonObj.userDeviceUuid);
$.mobile.changePage("#homePage", { transition: "none" });
}
else {
alert("Unsuccessful login. Try again.");
}
},
error: function (msg) {
alert("Error!");
}
});
どうすれば問題を解決できますか? この種のエラーの原因は何ですか?