【发布时间】:2020-03-13 17:17:05
【问题描述】:
我建立了一个 SessionMgr.cfc
<cffunction name="jgetValue" access="remote" returntype="string" output="yes" returnFormat="json">
<cfargument name="variablename" type="string" required="yes">
<cfset var result = 0>
<cfset result = Evaluate("session" & "." & arguments.variablename)>
<cfset var ReturnValue = result />
<cfreturn result />
</cffunction>
在coldfusion 中设置/获取会话变量来运行我所有的$.ajax 调用,而且我似乎做错了什么。我已经阅读并阅读了 stackoverflow 以及 google 可以生成的关于该主题的每一页,也许这里有人可以解释我做错了什么。
这是我的 getter();、我的 getValue() 和 getCalBack();,正确的值在 getValue() 中是正确的,但我尝试的所有内容都将 [object Object] 返回到 getCAllBack() 处理程序; 这是我的代码;
// rID in this instance is session.rID
var tReportID = getValue('rID');
alert(tReportID);
function getValue(a) {
return $.ajax({
url: "cfc/SessionMgr.cfc",
type: "get",
dataType: "text",
data: {
method: "jgetValue",
variablename: a
},
success: function(response) {
obj = JSON.parse(response);
//alert('in getValue: ' + obj);
console.log('getValue: ' , a , ' value: ' , JSON.parse(response));
},
error: function(msg) {
console.log(msg);
}
});
//alert(' in returnVal: ' + obj);
}
任何帮助将不胜感激。 因此,我将代码更新为您的建议 Prince,但是我仍然在警报中收到 [object Object]。
如果我分解对象,如何取出 responseText?它具有正确的价值;响应文本:“12”
【问题讨论】:
-
90% 的时间返回值是一个简单的数值,另外 10% 是单个字符串值,例如 'Select',如果有帮助的话。
-
所有这意味着你正在使用的工具,即 alert() 不知道如何显示复杂对象的内容,比如结构,所以它使用默认的"object object"。对于复杂对象,请使用
console.log( obj )。此外,使用 jquery 比依赖 Adobe 的 ajax 组件的有问题的实现更好......请发布 SessionMgr.cfc 的代码,以便有人可以帮助您解决 jquery 代码的问题。
标签: javascript jquery ajax callback coldfusion