当前位置: 首页 > 面试题库 >

如何在没有参数的情况下调用c#方法并访问返回的数据?

毕嘉
2023-03-14
问题内容

所以我看过很多这样的例子:

public class WebService : System.Web.Services.WebService {
   [WebMethod]
   public List<string> getList() {
      return new List<string> {"I", "Like", "Stack", "Overflow"};
   }
}

您似乎可以通过成功函数以警报的形式查看从c#方法返回的数据。但是,如果我想在函数调用之外访问此“ input +
1”数据,该怎么做呢?另外我不确定如何调用没有参数的方法?

<body>

<select id="wordSelect">
// Drop Down Menu to be populated 
</select>

<script>
  $(function () {
    $.ajax({
      url: 'WebService.asmx/getList',
      data: '{**NO PARAMETERS?!**}', // should I also call JSON.stringify?
      type: 'POST',
      dataType: 'json',
      contentType: 'application/json',
      success: function (data, status) {
        alert(data);
        alert(typeof data);
      }
    });
  });

 $.each(data.i, function(index, item) { // will this access "I", "Like", ... etc?
     $(#wordSelect).append(
         $("<option></option>")
             .text(item)
     );
 };
</script>

</body>

最后,我想使用通过ajax调用的ac#方法返回的JSON数据填充下拉列表,但是我不确定如何处理似乎卡在函数中的JSON数据呼叫?

抱歉,我是Jquery / AJAX / etc的新手,但是非常感谢!


问题答案:

如果您的方法不带参数,则不要在ajax调用中指定data属性

<script>
  $(function () {
    $.ajax({
      url: 'WebService.asmx/getList',
      type: 'POST',
      dataType: 'json', //make sure your service is actually returning json here
      contentType: 'application/json',
      success: function (data, status) {
        //here data is whatever your WebService.asmx/getList returned
        //populate your dropdown here with your $.each w/e
      }
    });
  });
</script>

同样,我可能是错的,但是您显示的WebService方法看起来不会返回json。我认为您将必须序列化或设置内容类型或类似内容。(自从我使用了asmx类型的服务以来,随着时间的流逝)



 类似资料:
  • 问题内容: 这是使用awt包的Java图形的初学者问题。我在网上找到了这段代码来绘制一些简单的图形。 在main方法中,在画布上没有调用paint()。但是我运行了该程序并且它可以工作,那么paint()方法如何运行? 问题答案: 该方法由事件调度线程(EDT)调用,并且基本上不受您的控制。 它的工作方式如下:当 实现 用户界面(以您的情况为例)时,Swing将启动EDT。然后,此EDT线程在后台

  • 我只是尝试使用Java 9运行我的服务器,并得到下一个警告: 我希望隐藏此警告,而不在启动期间向JVM选项添加<code>--非法访问=拒绝</code>。类似于: 有什么办法吗? 所有建议使用JVM选项的相关答案,我想从代码中关闭它。这可能吗? 为了澄清-我的问题是关于从代码中转换此警告,而不是通过类似问题中所述的JVM参数/标志。

  • 问题内容: 我只是尝试使用Java 9运行服务器,并收到下一个警告: 我想隐藏此警告而不在启动过程中添加到JVM选项。就像是: 有什么办法吗? 建议使用JVM选项的所有相关答案,我想从代码中关闭它。那可能吗? 要澄清-我的问题是关于从代码而不是通过类似问题中所述的JVM参数/标志来启用此警告。 问题答案: 有几种方法可以禁用非法访问警告,尽管我不建议您这样做。 1.简单的方法 由于警告已打印到默认

  • 我正在尝试将嵌套映射转换为JSONObject,如下所示: (我试着按照这个例子放HashMap 我这样称呼它 我不明白的是为什么 null?据我所知,返回一个

  • 我正在从文档中学习反应,但不确定在这个例子中超级()做什么。通常,它不需要传递给创建新实例的参数,然后调用React吗?组件的构造函数方法将这些参数合并到实例中?没有任何争论它是做什么的?

  • 我可以通过执行以下操作将子集中的每个元素映射到一个FlatEntry: 而且效果很好。但当我尝试这样做时: eclipse(Mars4.5.0)编译器的功能如下: 我是不是漏掉了什么?我能纠正我的API,使它的使用不那么笨拙吗?还是我一直在指定类型参数?谢谢!