无法使用ajax发送下拉列表值

时间:2014-08-20 10:41:10

标签: c# jquery asp.net ajax asp.net-ajax

在应用程序中我使用ajax将数据发送到后端,就像这样

 $.ajax({
    type: "POST", 
    url: "ApplicationDetails.aspx/GetMessageFromWebPage", 
    data: {
            title: $('#Content_Monitoring_Statistics_dropdownfilter option:selected').val()
          }, 
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(data) {google.setOnLoadCallback(drawChart(data));}
    });

贝娄是我的堕落,我想发送到后端的价值

   <asp:dropdownlist id="dropdownfilter" runat="server" >
     <asp:listitem text="Hits for last 24 hours" selected="True" value="last24hours"></asp:listitem>
     <asp:listitem text="Hits for last 7 days" value="last7days"></asp:listitem>
     <asp:listitem text="Hits for last year" value="lastyear"></asp:listitem>
  </asp:dropdownlist>

但它没有将数据发回服务器端。 当我删除数据时,它工作正常,但数据无法正常工作。

3 个答案:

答案 0 :(得分:0)

您需要以Json格式发送数据,因此只需发送数据就无法将数据转换为JSON.Use JSON.stringify就像这样

data:JSON.stringify({
                title: $("#MainContent_ddlTest option:selected").val(),
            }),

答案 1 :(得分:0)

我刚刚创建 像这样的对象

var selectedFilter = {}; 
selectedFilter.title = $("#Content_Monitoring_Statistics_dropdownfilter option:selected").val();

&安培;将它传递给像这样的数据

data: JSON.stringify(selectedFilter)

答案 2 :(得分:0)

要将下拉值参数传递给AJAX调用,您可以选择:

title: function () { return $("#Content_Monitoring_Statistics_dropdownfilter").val(); }

这肯定有用。