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

本文关键字:下拉列表 ajax | 更新日期: 2023-09-27 18:18:52

在应用程序中,我使用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>

但是它没有将数据发送回服务器端。当我删除数据,它工作得很好,但与数据它不工作

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

您需要以Json格式发送数据,因此简单地发送数据将不起作用,您需要将数据转换为Json。使用JSON。像这样字符串化

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

我刚刚创建的对象

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

,将其传递给如下数据

data: JSON.stringify(selectedFilter)

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

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