我正在尝试通过 JS 调用 Web 服务,但无论如何它都没有被调用。我正在尝试对 2 个数字求和。
页面包含 3 个textbox
,它的文本设置为硬编码:
<form id="form1" runat="server">
<div>
<asp:TextBox ID="Text1" Text="5" runat="server">
</asp:TextBox>
<asp:TextBox ID="Text2" Text="2" runat="server">
</asp:TextBox>
<asp:TextBox ID="Text3" runat="server">
</asp:TextBox>
</div>
</form>
我的代码如下:
<script type="text/javascript">
$(document).ready(function () {
debugger;
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "C:/Users/hp/Documents/visual studio 2010/Projects/WebApplication3/WebApplication3/WebService1.asmx/sum",
data: "{'a':'" + $('input[id$=Text1]').val() + "','b':'" + $('input[id$=Text2]').val() + "'}",
dataType: "json",
success: function (data) {
alert(data);
var results = eval('(' + data.d + ')');
if (results == "success") {
$('input[id$=Text3]').val(data);
//$('span[id$=lblErr]').hide();
}
else {
$('span[id$=lblmsg]').hide();
// $('span[id$=lblErr]').show();
}
},
error: function () {
alert('Error');
}
});
});
</script>
WebService 名称 WebForm1.aspx
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
public string sum(string a, string b)
{
string json = "";
int sum = Convert.ToInt32(a) + Convert.ToInt32(b);
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
json = oSerializer.Serialize(sum);
return json;
}
}
它在每次运行时显示错误框。请帮助我完成它。谢谢。