ColdFusion应用程序-使用mm_wizard_login.cfm页面上的AJAX。不返回JSON

时间:2018-11-05 22:34:04

标签: json ajax coldfusion

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

所以我决定使用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的HTML内容。请帮忙。

这是从登录页面调用的我的测试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>

0 个答案:

没有答案