Business Catalyst:是否可以通过AJAX提交密码检索请求表单并显示生成的密码检索确认页面?

时间:2015-09-01 04:20:36

标签: javascript ajax business-catalyst

我希望简化网站用户在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。

2 个答案:

答案 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,看看是否有人可以提供帮助。否则,我会确保系统页面与您的网站相匹配,而不用担心它太多。