【问题标题】:How to call c# method with no parameters and access returned data?如何在没有参数的情况下调用c#方法并访问返回的数据?
【发布时间】:2014-07-01 00:12:46
【问题描述】:

所以我见过很多这样的例子: https://stackoverflow.com/a/8094230/2525507

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

你刚才好像通过success函数可以查看c#方法以alert形式返回的数据。但是如果我想在函数调用之外访问这个“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 调用是异步的,因此您必须在 success 回调中处理所有内容。如果你想在外面做点什么,你必须准备一些回调,在那里添加代码并在success回调中调用该回调。
  • 你能从控制台显示webservice的json响应吗

标签: c# javascript jquery ajax json


【解决方案1】:

如果您的方法不带参数,请不要在 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 类型的服务以来一直存在)

【讨论】:

  • 谢谢你们!抱歉,这是一个微不足道的问题,但我真的无法用正确的术语谷歌搜索或找到合适的例子。谢谢谢谢谢谢!
  • 所以我试图在我的成功调用中访问数据,但我一直收到一个错误,说“数据”未定义?有什么想法吗?
  • 数据是你成功回调的第一个参数吗?
  • 一切都好原来我的网络服务是嵌套的,我弄乱了网址。
【解决方案2】:

查看我对此post 的回答。我引用了一个名为 Encosia 的网站,由 Dave Ward 编写。他有一个关于将 Ajax 与 ASP.net / MVC 结合使用的优秀系列。这是一个很好的起点,有很多例子。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-25
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-19
    相关资源
    最近更新 更多