我总是在博客中看到这样的代码:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "WebService.asmx/HelloWorld",
data: "{}",
dataType: "json",
success: function(msg) {
alert(msg.d);
}
});
但我认为这只适用于asp.net 3.5。我无法用2.0运行它。如何在我的应用程序中使用这些代码?
答案 0 :(得分:2)
您需要将此属性添加到您的网络服务器类
[System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
此功能的属性
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
您在技术上不需要指定responseformat,因为它会响应 到您在请求中指定的格式。并且必须在请求中指定格式。
问候
ķ
答案 1 :(得分:1)
如果您使用jQuery连接到服务器,则不需要HTML中的ScriptManager
。
我认为你代码的其他部分是正确的。只需删除ScriptManager
。
答案 2 :(得分:0)
我已经知道这篇文章,但它无法帮助我。
在我的示例应用中,我使用以下代码:
我的Jquery代码:
$(document).ready(function() {
$('#clKaydet').click(function() {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "WebService.asmx/HelloWorld",
data: "{}",
dataType: "json",
success: function(msg) {
alert(msg);
}
});
});
});
我的Html代码:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server" />
<div>
<input type="button" id="clKaydet" runat="server" value="Kayıt" onclick="Kayit()" />
</div>
</div>
</form>
我的Webservise代码:
<WebMethod()> _
Public Function HelloWorld() As String
Dim sText As String = "Hello"
Return sText
End Function
有任何错误吗?
答案 3 :(得分:0)
我们使用jQuery进行所有DOM操作,但在将数据发送回服务器时,我们使用ASP.Net AJAX来利用自动生成的代理类
让生活变得简单!
答案 4 :(得分:0)
我认为你缺少的是用WebMethod标记标记的方法将数据序列化为XML,而不是JSON。使用ASP.NET MVC,您可以本机返回JSON,但如果您想为WebMethod使用JSON,则可能需要编写自己的转换器。我建议尝试将AJAX调用的数据类型更改为“xml”,看看是否有效。
我也没有使用jquery for AJAX,所以我还没有尝试过(还)。
答案 5 :(得分:0)
总之,您是否这样说,我不能直接使用这些代码与asp.net 2.0?