2014-07-01 65 views
1

所以我見過很多例子,如這些: https://stackoverflow.com/a/8094230/2525507如何調用不帶參數的c#方法並訪問返回的數據?

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> 

最後,我想利用C#方法已經通過Ajax稱爲返回JSON數據來填充一個下拉列表,但我不知道我怎麼能與檢索的JSON數據播放似乎卡在函數調用?

對不起,我是Jquery/AJAX/etc的新手......但非常感謝!

+1

ajax調用是異步的,所以你必須處理'success'回調中的所有事情。如果你想在外面做某事,你必須準備一些回調,在那裏添加代碼並在'success'回調中調用回調。 –

+0

你能從控制檯顯示webservice的json響應嗎 –

回答

4

如果你的方法不帶任何參數,只是不上Ajax調用

<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類型的服務)

+0

謝謝各位!對不起,這是一個微不足道的問題,但我真的不能用正確的術語Google找到適當的例子。謝謝你,謝謝你,謝謝你! – loonyuni

+0

是的,我需要先序列化爲json格式。 – loonyuni

+0

所以我試圖只訪問我的成功電話中的數據,但我不斷收到一個錯誤,說「數據」是未定義的?有任何想法嗎? – loonyuni

0

看到我對此的回答post。我參考了由Dave Ward編寫的名爲Encosia的網站。他在使用Ajax和ASP.net/MVC方面有很好的系列。這是一個開始的好地方,有很多例子。

相關問題