2013-02-11 55 views
0

我试图使用Ajax调用来调用一个WebMethod取环接JSON数据成功如图所示:从的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:

<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上放置一个断点时,它会显示如下屏幕截图:

enter image description here

+0

你在'#Result'接收? – 2013-02-11 04:14:23

+0

只有我的文本框中输入的示例文本数据ie ..在上面的屏幕截图#Result给我的输出为“dfhg”。 – coder 2013-02-11 04:15:48

+0

为什么你stringify:JSON.stringify? – Dima 2013-02-11 04:18:22

回答

0

我已经找到一种方法来做到这一点:

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

在此之前我跟了这way实现

+0

您是否更改过任何服务器端代码以实现此目的? – 2013-02-11 05:18:33