2017-07-03 5 views
-2

その時にサーバーメソッドにajaxデータを送信すると500の内部エラーが発生するその時、それは完璧に働いています。私は実際にどのようにajaxデータがサーバーメソッドに送信されるのか混乱しています。asp.netのサーバー側メソッドにajaxデータを送信すると500の内部サーバーエラーが発生するC#

は、ここでは、この問題を解決するために私を助けてください私のコード

<asp:ComboBox ID="dropdwn_consignor" runat="server" onfocusout="blurFunction()"  ></asp:ComboBox> 

<script> 
    function blurFunction() { 
     var c = $find("<%=dropdwn_consignor.ClientID %>"); 

     $.ajax({ 
      type: "POST", 
      url: "Booking123.aspx/GetCnorGSTNo", 
      data: "{ TinNo1: '"+ c.get_textBoxControl().value +"'}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      async: "true", 
      cache: "false" 
     }); 

    } 
</script>  

[WebMethod] 
public static void GetCnorGSTNo(string Param1) 
{ 
// here is the code 
} 

です。

ありがとうございます。

+0

ステップあなたのコードとあなたを通して:

GetCnorGSTNoは()

てみ

"Param1の" ない "TinNo1" の文字列パラメータを持っていますどのようなエラーが発生しているのかがわかります(500は内部エラーですので、失敗しています)。デバッグ方法がわからない場合は、イベントログを調べることができます。そう、あなたは優しいエラーページ – Pete

+0

あなたは問題がサーバー上にある500エラーを取得している場合を削除した場合 - あなたはそれを行う方法がわからない場合は、AJAXせずにフォームを投稿しようとすると、ページがあなたのエラーが表示されます実際に見る必要があるのは '//ここはコードです 'セクションです。また、パラメータが 'TinNo1'ではなく' Param1'という名前になっていて、エンコードするオブジェクトをjQueryに直接与えることができます。醜いJSONのような文字列を一緒にハックする必要はありません。 –

+0

@RoryMcCrossanあなたの意見はまず悪いです。私はすでにデバッグポイントがメソッドに来ていないことを伝えています。なぜコードを見たいのですか? hehehe。最初に慎重に質問を読んでから、コメントする必要はありません。わかる。 – karan

答えて

1

チェックパラメータ名:

data: JSON.stringify({ 
    Param1: c.get_textBoxControl().value 
}), 
+1

'data:{Param1:c.get_textBoxControl()。value}'はうまくいくでしょう - それを過度に複雑化する必要はありません。 –

+0

ありがとうございます。 @JAckとRory McCrossan – karan

関連する問題