这是我的代码,我收到了一些错误,
错误:未捕获的异常:[Exception ...“提示被用户中止”nsresult:“0x80040111(NS_ERROR_NOT_AVAILABLE)”location:“JS frame :: resource://gre/components/nsPrompter.js :: openTabPrompt ::第468行“数据:否]
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="loginform.aspx.cs" Inherits="loginform" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<script src="js/jquery-1.6.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#btnsubmit").click(function(){
$.ajax({
type: "POST",
url: "loginform.aspx/getdataval",
data:"{'uname':'"+$("#TextBox1").val()+"','passwod':'"+$("#TextBox2").val()+"'}",
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function(msg) {
alert("welcome");
AjaxSucceeded(msg);
},
error: AjaxFailed
})
});
});
function AjaxSucceeded(result) {
alert(result.d);
var Emp=result.d;
$("#output").append('<p>'+Emp.Sname+ ' ' + Emp.Sno+'</p>');
}
function AjaxFailed(result) {
alert(result.status + ' ' + result.statusText);
alert("Failure");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<br />
<asp:Button ID="btnsubmit" runat="server" Text="Button" />
<div id="output">
</div>
</div>
</form>
</body>
</html>
请帮我找出原因并重新编写代码
提前谢谢。
答案 0 :(得分:1)
因为这是POST
,您需要return false for your form submit(例如,btnsubmit
的客户端处理程序)。此外,由于TextBox1
和TextBox2
的类型为<asp:TextBox>
,因此您需要捕获其ClientID
以在客户端脚本中正确引用它们。下面的代码应该有效。
function AjaxSucceeded(result) {
alert(result.d);
var Emp = result.d;
$("#output").append('<p>' + Emp.Sname + ' ' + Emp.Sno + '</p>');
}
function AjaxFailed(result) {
alert(result.status + ' ' + result.statusText);
alert("Failure");
}
$(document).ready(function() {
$("#btnsubmit").click(function(e) {
$.ajax({
"type": "POST",
"url": "loginform.aspx/getdataval",
"data": "{'uname':'" + $("#<%=TextBox1.ClientID %>").val() + "','passwod':'" + $("#<%=TextBox2.ClientID %>").val() + "'}",
"contentType": "application/json;charset=utf-8",
"dataType": "json",
"success": function(msg) {
alert("welcome");
AjaxSucceeded(msg);
},
"error": AjaxFailed
});
//required because "type" is "POST"
e.preventDefault();
return false;
//although it's a good idea anyway because we
//don't want a postback.
});
});