我有一个登录页面,点击登录按钮,它会重定向到另一个.aspx页面,但有回发。我想要点击按钮回发不应该发生。我想用json。但我不知道如何在我的页面中使用它以及如何调用它。请告诉我如何使用json避免回发。我想构建一个移动应用程序并使用jquery mobile。
My code is
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>
</title>
<link href="CSS/jquery.mobile-1.1.1.min.css" rel="stylesheet" type="text/css" />
<link href="CSS/my.css" rel="stylesheet" type="text/css" />
<script src="Js/jquery.min.js" type="text/javascript"></script>
<script src="Js/jquery.mobile-1.1.1.min.js" type="text/javascript"></script>
<script src="Js/my.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<%-- <asp:ScriptManager ID="scriptmngr" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="upnlData" runat="server" UpdateMode="Conditional">
<ContentTemplate>--%>
<div data-role="page" data-theme="d" id="page1">
<div data-theme="b" data-role="header">
<h3>
</h3>
<div style="">
<img style="width: 100px" src="Images/QuickMove.png" />
</div>
</div>
<div data-role="content" style="padding: 15px">
<div>
<p>
<b>
<span style="background-color: rgb(255, 255, 0);" data-mce-
style="background-color: #ffff00;">
</span>
<span style="background-color: rgb(255, 255, 255); color:
rgb(255, 102, 0);">
Survey Login
</span>
</b>
</p>
</div>
<div data-role="fieldcontain" style="width:100%">
<label ID="lblLoginMsg" SkinID="snkError" runat="server"
ForeColor="Maroon" Font-Bold="True"
Font-Size="Small"></label>
<fieldset data-role="controlgroup">
<label for="textinput2"><span style="font-family: times new
roman,times; font-size: medium;">
<strong>
Username
</strong>
</span>
</label>
<input name="" id="txtUserName" placeholder="" value="" type="text"
runat="server"/>
</fieldset>
</div>
<div data-role="fieldcontain" style="width:100%" >
<fieldset data-role="controlgroup">
<label for="txtPassword"> <span style="font-family: times new
roman,times; font-size: medium;">
<strong>
Password
</strong>
</span>
</label>
<input name="" id="txtPassword" placeholder="" value=""
type="password" runat="server"/>
</fieldset>
</div>
<div data-role="fieldcontain" style="width:100%" >
<%-- <button type="button" data-transition="fade" data-theme="b"
data-icon="check" data-iconpos="right" id="btnSignIn" value="Sign In"
runat="server" onclick="btnSignIn_Click" />--%>
<button id="btnSignIn" type="button" runat="server"
onserverclick="btnclick">Sign In</button>
</div>
<div data-theme="b" data-role="footer" data-position="fixed" >
<h4 style="font-size: 10px">
©QuickMove
</h4>
</div>
</div>
</div>
</form>
</body>
答案 0 :(得分:0)
JSON是用于交换数据的数据表示,不用于通信,您需要ajax来验证用户可以使用jQuery Ajax。这是一篇很好的文章,可以开始使用 jquery ajax with asp.net web methods
答案 1 :(得分:0)
您需要以某种方式进行POST,因为出于各种原因(包括安全性和Web标准),在GET中发送登录凭据根本就不是完成,并且您也不能完全在客户端执行,因为那时客户端 - 代码(受定义污染)将负责做出登录决定。
所以你确实需要一个POST,但你可以避免使用AJAX重新加载页面(这基本上意味着当用户提交{{1}时,而不是告诉Web浏览器发出POST请求,你从javascript发出请求并在回调中处理结果而不离开页面)。 jQuery附带了一个完整的AJAX API,所以你不需要了解XmlHttpRequest对象及其在不同浏览器上的实现的细节。
就JSON而言:JSON是一种通用数据格式,也是JavaScript本身的一个子集。它是AJAX请求的标准格式,主要是因为它是轻量级的,内置于大多数当前的JavaScript实现中(并且相当快的实现可用于可在需要时透明接管的旧实现),并且易于生成和解析。