2009-05-28 15 views
2

誰かが助けることができますか?私はjqueryからasp.net webserviceを呼び出すことに問題があります..実際には私はそれが多分jqueryと思う...私はブレークポイントを持っているとそれはwebserviceに到着しません..WebサービスへのJquery Ajax呼び出しが失敗しています

私のjqueryは、 Webサービスメソッドは、2つのパラメータ...

だから私セットアップ7,7に合格するための簡単なテストを受け入れ..私も単語「テスト」に置き換えてみました、それが動作しません。..

基本的には"申し訳ありませんエラーが発生しました"が表示されますが、エラーは定義されていません。ここで

jQuery.ajax({ 
      type: 'POST' 
      , url: 'CallService.asmx/TempCanMakeCall' 
      , contentType: 'application/json; charset=utf-8' 
      , dataType: "json" 
      , data: "{'reservationNum':'7','completedReservationNum':'7'}" 
      , success: function(data, status) { 
       alert(data); 
      } 
      , error: function(xmlHttpRequest, status, err) { 
       alert('Sorry! Error happens.' + err); 
      } 
    } 
     ); 

はjqueryのAJAX呼び出しが正常に見えるのasp.net Webサービス

[WebMethod()] 
    public bool TempCanMakeCall(string reservationNum, string completedReservationNum) 
    { 

      return true; 
    } 

答えて

2

xmlHttpRequest.responseTextはいつも私のgotoてきました。

はあなたのASP.NET機能は、静的作ってみましょう:

[WebMethod()] 
public static bool TempCanMakeCall(string reservationNum, string completedReservationNum) 
{ 

     return true; 
} 

はまた、(ASP.NETの特定。)返されたJSON値が「D」という名前のオブジェクトにカプセル化されることに注意して成功すると、あなたの戻り値を表示するにはこれを行う必要があります:

success: function(data, status) { 
      alert(data.d); 
     } 
+0

すべては今扱います! –

1

です。私は "CallService.asmx"へのパスが正しいことを確認する必要があると思います。今のように、jQueryコールを作成するファイルがASMXと同じ仮想ディレクトリにある場合にのみ動作します。

0

エラーコールバック関数では、 'xmlHttpRequest.status'をチェックすると、サーバーから返されたhttpコードを取得できます。これは別の手がかりを与えるかもしれません。上記のichibanが正しい場合、それは404である必要があります。

0

xmlHttpRequest.responseTextプロパティを確認できます。レスポンステキストは、おそらく、エラーの理由が含まれているサーバーから返されたHTMLドキュメントです。

Visual Studioを使用している場合は、Internet Explorerでスクリプトのデバッグを有効にし、エラー機能に次のキーワードを入力することもできます。debugger。ブラウザはこれをブレークポイントとして認識し、デバッガ(Visual Studioでなければなりません)を呼び出します。これで、xmlHttpRequestインスタンスの内容全体を確認できます。

明確にするために、あなたの誤差関数は次のようになります:jQueryのAJAXエラーを扱うとき

function(xmlHttpRequest, status, err) 
{ 
    debugger; 
    ...rest of your function... 
} 
関連する問題