我对ajax / ASP POST行为很困惑。
我有一个HTML按钮的表单(ASP页面的默认表单)。使用jQuery
我在点击事件中执行某些操作,然后对WebMethod
进行ajax POST调用:
<form runat="server" id="formRegistration" autocomplete="off" action="">
...other form controls
<button id="btnSend" type="button" class="btn btn-success">Send</button>
</form>
$("#btnSend").click(function (e) {
e.preventDefault();
// some validations
$.ajax({
type: 'POST',
traditional: true,
url: 'Default.aspx/Submit1',
data: JSON.stringify(myData),
contentType: "text/plain",
dataType: "text",
success: function (msg) {
},
error: function () {
}
});
return false;
});
protected void Page_Load(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("IsPostBack = " + IsPostBack.ToString());
}
[WebMethod]
public static bool Submit1(string json)
{
System.Diagnostics.Debug.WriteLine(json);
return true;
}
当我按下按钮重新加载页面时,WebMethod
未执行,而是重新加载页面... IsPostBack = false
!
我只想在没有重新加载页面的情况下发布字符串。
答案 0 :(得分:0)
您可以尝试使用链接而不是按钮,然后更改&#34;表单&#34;到&#34; div&#34;
<a id="btnSend" type="button" class="btn btn-success" href="#">Send</button>