我希望简化网站用户在Adobe Business Catalyst网站上注册,登录和检索/重置密码的过程。
我设法使用AJAX提交安全区登录表单。我还使用jQuery.load从密码检索请求系统页面获取HTML并将其插入我的登录页面,这样用户就不必离开页面来检索他们的密码。
我想做的下一步是通过AJAX提交密码检索请求表单,防止浏览器加载默认加载的页面(mysite.com/_System/SystemPages/PasswordRetrieveConfirmation
),但获取该页面上的数据使用AJAX并在当前页面上显示。
这可能吗?
密码检索请求页面和相应的表格如下:
<div class="system-message">
<h3>Forgot Password?</h3>
<p id="tokenExpiredMessage" class="error {tag_tokenExpired}">ERROR: Your password reset token has expired. Please request a new one by filling in the form below.</p>
<p id="invalidUsernameMessage" class="error {tag_invalidUsername}">ERROR: The email address or username you provided does not exist.</p>
<p>Enter your email address or username below and we'll send you instructions on how to reset it.</p>
<form action="/LostPasswordProcess.aspx" method="post" name="catseczonelpform" id="lost-password-form">
<input type="text" maxlength="255" id="SZUsername" name="Username" class="cat_textbox_small" placeholder="Email Address / Username" />
<input type="submit" value="RETRIEVE" class="cat_button" />
</form>
</div>
我认为处理完全在服务器端进行,因为我没有看到任何JS。
答案 0 :(得分:2)
端点为/LostPasswordProcess.aspx
,它希望POST
请求包含一个字段:Username
。
以下是我如何做到这一点(为简洁起见,使用jQuery):
var pwResetRequest = $.post(
'/LostPasswordProcess.aspx',
{ Username: 'ClementMandragora' }
);
pwResetRequest.then(function (response, textStatus, jqXHR) {
// do your thing with the response html
});
请注意,我们对响应标头的访问权限有限,因此要以编程方式告知重置请求是否成功,似乎需要解析响应。
答案 1 :(得分:0)
我不确定BC是否可行。我尝试使用AJAX,但它不起作用,因为它抛出错误并重新加载页面。
您可以尝试询问BC Forums,看看是否有人可以提供帮助。否则,我会确保系统页面与您的网站相匹配,而不用担心它太多。