2011-08-06 18 views
0

ログインフォームを使用してindex.htmlにjavascriptを書きました。私が提出すると、私はIIS7を実行しているサーバーにリモートからWebサービスを呼び出します。 Dreamweaverで「ライブコード」を実行すると応答が返ってきますが、同じコードを持つ通常のブラウザでindex.htmlを実行すると、エラータイプが「0」になります。これらのファイルをコピーしてサーバー上にホストし、Webサービスのパスをlocalhostに変更してbroswerで開くと、同じことが起こります。Jquery .Ajax()戻り値0

私はそれが類似のもののアクセス許可と関係があると考えています。ここで は、コードで、より多くの情報が必要な場合は私に知らせてください

$("#ButtonLogin").click(function (event) { 
    $.ajax({ 
     type: "POST", 
     url: serverPath + "/test.asmx/LogIN", 
     data: "{'UserName': '" + $('#TextBoxUsername').val() 
      + "', 'pwd': '" + $('#TextBoxPassword').val() + "'}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (msg) { 
      AjaxLogInSucceeded(msg);} , 
     error: AjaxLogInFailed 
    }); 
}); 
+0

serverPathはindex.htmlと同じドメインにありますか? Ajax呼び出しは、https://developer.mozilla.org/ja/Same_origin_policy_for_JavaScriptと同じ発信元ポリシーによって制限されています。 – jfriend00

+0

これは古いですが、 '{'UserName':$( '#TextBoxUsername')にする必要があります。 – Fabrizio

答えて

1

デバッグAjaxの問題が複雑に見えることができますが、あなたはあなただけのURLのデバッグをオフに送信していることは容易になることを覚えていれば。このような問題に対処するには、Firefoxの "Live HTTP Headers"拡張機能を使用して、サーバーに送信されているCGIパラメータを持つURLを確認します。私はこれがDreamweaverのようなシステムで生成されたコードを実行するときに非常に役立つと思います。

その後、ちょうどあなたのブラウザ(またはwgetコマンド)にあなたのAJAX URLをプラグインして戻ってくるかを見ることができます。また、バックエンドコード(通常はケース)を書いている場合は、問題の特定に役立つデバッグステータスメッセージを出力することができます。

幸運!

+0

「0」コードは何に対応しますか? – Kevin

+0

多くの場合、エラーコード "0"はエラーがないことを意味します。 –