前言
用 Asp.net MVC + jQuery Ajax 可以很直觀的得到產出但用 Asp.net WebForm + jQuery Ajax 卻試了很久…
以此記錄一下
本文
前端
<script type="text/javascript">
$(function () {
$("select").change(function () {
var str = $("select option:selected").text();
$.ajax({
type: "POST",
//給WebService的其中一個方法,視程式需要
//給WebService的其中一個方法,視程式需要
url: "WebService1.asmx/GetChartData",
data: { str: str },
data: { str: str },
success: function (data) {
//接WebService 回傳值
}
})
})
</script>
})
})
</script>
WebService
/// <summary>
/// WebService1 的摘要描述
/// </summary>
[WebService(Namespace = "")]
[System.ComponentModel.ToolboxItem(false)]
[ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod] //一定要加
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetChartData(string str)
{
//Do Something
}
}PS 紅字部分要相對應 唯一美中不足的就是 Ajax 接回來的資料是 XML 這是因為 WebService soap 的關係 (SOAP:Simple Object Access Protocol,簡單物件存取協定。是一種標準化的通訊規範) 有參考當麻許大大的WebService 使用 JSON 格式傳遞筆記 + JQuery 測試 但仍是未果 參考: topcat 姍舞之間的極度凝聚-jQuery Ajax 呼叫 Web Service 傳遞參數範例 [c#]asp.net+jQuery+json做Ajax11/25 更新:後來有成功以JSON的格回傳回去 在丟 data 過去時也要以 JSON 的格式回傳遞 所以改寫後就是 data: "{'str':'" + str + "'}",
沒有留言:
張貼留言