jQuery don';t调用ASP.NET WebMethod
我知道有很多像这样的问题,但我就是不能用这些答案来解决我的问题 我有一个基本页面,上面有:jQuery don';t调用ASP.NET WebMethod,jquery,asp.net,webmethod,Jquery,Asp.net,Webmethod,我知道有很多像这样的问题,但我就是不能用这些答案来解决我的问题 我有一个基本页面,上面有: <body> <form id="form1" runat="server"> <div id="Result"> <asp:ScriptManager ID="ScriptManager1" EnableScriptGlobalization="true" EnableScriptLocal
<body>
<form id="form1" runat="server">
<div id="Result">
<asp:ScriptManager ID="ScriptManager1"
EnableScriptGlobalization="true"
EnableScriptLocalization="true"
EnablePageMethods="true"
EnablePartialRendering="true" runat="server" />
<script type="text/javascript">
$(document).ready(function () {
$("#txtSearch").bind("change", search);
});
function test() {
alert("asdadadaads");
}
function search() {
$.ajax({
type: "POST",
url: "~/Search.aspx/GetRegion",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d)
}
});
}
</script>
<asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
</div>
</form>
我快疯了,谢谢你的帮助:)
search()
函数放在(文档)之外。ready()
函数//即使没有更改也无所谓$(“#txtSearch”).bind(“更改”,搜索)代码>=>$(“#txtSearch”)。更改(搜索)代码>//即使您没有更改也无所谓
txtSearch
(如果使用母版页,则可能呈现不相同)。您可以使用
在HTML标记中获取clientId。txtSearch
,则无需使用bind
函数。jQuery也更喜欢使用函数
$( "#txtSearch" ).on( "change", search);
remove~/从url中删除,使其成为url:“Search.aspx/GetRegion”并在WebMethod中返回字符串首先,从ajax url中删除波浪号(~)。这是针对服务器端ASP.Net的,在其他任何地方都不起作用。
$( "#txtSearch" ).on( "change", search);