json - ColdFusion 应用程序 - 使用 mm_wizard_login.cfm 页面中的 AJAX。不返回 JSON
问题描述
我正在使用 ColdFusion 11。我继承了一个应用程序,该应用程序将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
. 请帮忙。
这是我从登录页面调用的测试 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>
解决方案
推荐阅读
- python - 正则表达式匹配特定字符串,空格,然后是数字(熊猫,python)
- html - 试图让手风琴可折叠打开更慢
- security - Spring Security Authentication,使 RestTemplate 调用避免使用 String 进行身份验证
- json - 如何从 KOTLIN 中 API 的实体响应输出类型内部的键中提取内部 JSONObject 的值?
- sql - 使用 VBA 中的 Replace 函数更改带有维度字段的 SQL 代码
- html - 使用 api 响应渲染材质标签不起作用
- asp.net-core - 来自数据库的 ASP.NET Core ConfigurationProvider
- c++ - 如何使用 spdlog
- swift - 如何将 macOS 操场的输出重定向到文件
- c# - 如何序列化集合以使用 WCF 发送它?