首页 > 解决方案 > ColdFusion 应用程序 - 使用 mm_wizard_login.cfm 页面中的 AJAX。不返回 JSON

问题描述

我正在使用 ColdFusion 11。我继承了一个应用程序,该应用程序将mm_wizard_loginColdFusion 功能用于其登录功能。现在我必须在这个应用程序中实现更改密码功能。因此,如果用户登录并且应用程序发现该用户是第一次登录,它应该重定向用户以更改其初始密码。

所以我决定使用 jQuery 第三方模态插件。

我在mm_wizard_login.cfm页面中添加了 jQuery 插件功能。在身份验证过程中,用户需要更改密码的场景,mm_wizard_authenticate.cfc拒绝登录并将他们重定向回mm_wizard_login.cfm页面,然后插件打开并允许用户输入新密码。用户单击提交后,在 jQuery 中,我正在拦截他们的提交,并且我正在对另一个 cfc 进行 AJAX 调用,该 cfc 正在接受新密码并调用 SQL Server 存储过程来更改他们的密码。此 cfc 方法将 JSON 返回给 AJAX 调用,但返回值不是 JSON,它返回mm_wizard_login.cfm页面本身的 HTML。

一切正常,除了需要 JSON 的 AJAX 调用。

在 Chrome 开发工具中,我进入了网络选项卡并在响应选项卡下,它正在返回mm_wizard_login.cfm页面的 HTML。我不明白这一点。

下面是我的 AJAX 调用:

var refData = $.ajax({ 
    url: 'testmethod.cfc', 
    method: 'POST',  
    dataType: 'json',
    data:{
        method:'ChangePassword', //Call the method                     
        jsonData: JSON.stringify($(formdata).serializeArray())
    }
})
.done (function (d) {
    if (d.Result == 'OK')
        $("#modal-custom").iziModal('#modal-custom','setTitle', d.message);
        $("#modal-custom").iziModal('#modal-custom','close');
    else{                                  
        changePwd_ErrorHandler(d.message);
    }
})
.fail (function (XMLHttpRequest, textStatus, errorThrown) {
    changePwd_ErrorHandler(textStatus + '. Please try again');
});

mm_wizard_login.cfm在没有任何工作之后,我只是从我的页面尝试了一个基本的 AJAX 调用,如下所示:

var test = $.ajax({
    url: 'testmethod.cfc',
    method: 'POST', 
    dataType: 'json',
    data:{
        method:'MethodTest', //Call the method
    }
})
.done (function (d) {

})
.fail (function (XMLHttpRequest, textStatus, errorThrown) {
    alert('Unable to change password. Please try again');
});    

这也不起作用。它正在返回同样的东西。不是 JSON,而是mm_wizard_login.cfm. 请帮忙。

这是我从登录页面调用的测试 cfc 函数。

[更新]我的测试cfc方法:

<cffunction name="MethodTest" access="remote" output="true" returntype="string" returnformat="json"  hint="Adds/Edits User Info .">

    <cfset retJSON = '{"Result": "Error","message": "Action Failed", "TotalRecordCount":0}'>

    <cfreturn retJSON>
</cffunction>

标签: jsonajaxcoldfusion

解决方案


推荐阅读