0

次のように ajax 呼び出しを使用して webmethod を呼び出そうとしています:

<script type="text/javascript">
$(document).ready(function () {
   $("#getdetails").click(function () {
       $.ajax({
          type: "POST",
          url: "Default.aspx/Gettext",
          data: JSON.stringify({SampleText: $('#sampletext').val(), FontType: $('#fonttype').val() }),
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function (response) {
          $("#Result").html(response.d);
          }//success
      });//ajax call
   });//button click

  $("#FontLists").change(function () {
  $('#fonttype').val($('#FontLists option:selected').text());
  });
});//document

ウェブ方法:

<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)>
Public Shared Function Gettext(ByVal SampleText As String, ByVal FontType As String) As String
    Dim List1 As New ArrayList()
    List1.Add(SampleText)
    List1.Add(FontType)
    For Each Str As String In List1
        Return Str
    Next
End Function

問題は、ボタンをクリックすると、選択したフォントではなくテキストのみが応答に表示されることです。しかし、List1 にブレークポイントを配置して確認すると、下のスクリーンショットのように表示されます。

ここに画像の説明を入力

4

1 に答える 1

0

私はこれを行う方法を見つけました:

  success: function (response) {
           var result1 = (response.d.SampleText), result2 =(response.d.FontType),
           result = "SampleText: " + result1 + " FontType: " + result2;
           $("#Result").html(result);
  }

これの前に私は達成するためにこの方法に従いました

于 2013-02-11T05:17:28.343 に答える