gpt4 book ai didi

javascript - 如何从 CFFUNCTION 传递 JSON

转载 作者:行者123 更新时间:2023-12-01 05:43:30 24 4
gpt4 key购买 nike

我是 JSON 新手,实际上是 Javascript 新手。我实际上从某人那里找到了代码,并尝试实现我想要做的事情。

在我的 javascript 上,我有:

function signin(var1,var2) {
Signin('login.htm?var1=' + var1 + '&var2=' + var2);
}

function skypeme(var1, var2) {
$.ajax({
url: "skypeme.cfc",
dataType: "json",
data: {a:var1, b:var2},
success: function(userData) {
if(userData.LOGIN == 'true' && userData.ID!='') {
window.location = 'skype:'+userData.ID+'?chat';
}
else {
signin(var1,var2);
}
}
});
}

在我的 skypeme.cfc 上:

<cfcomponent output="false"> 
<cffunction name="cfskypeme" access="remote" returnformat="JSON" output="false">
<cfargument name="a" required="true">
<cfargument name="b" required="true">
<cfset var stReturn = structNew()>
<cfset stReturn.LOGIN=false>
<cfset stReturn.ID="">

if user login
check database for skypeid
<cfif skypelist.recordcount eq 1>
<cfset stReturn.LOGIN=true>
<cfset stReturn.ID=skypelist.skype>
</cfif>
<cfreturn SerializeJSON(stReturn)>
if user not login
<cfreturn SerializeJSON(stReturn)>

</cffunction>

</cfcomponent>

我想要做的是调用 cfc 并检查用户是否登录,如果没有则调用登录函数。如果用户已经登录,请检查数据库。如果找到 Skype ID,则启动 Skype,如果没有找到,则不执行任何操作。但发生的情况是,当我从 html 调用 skypme() 函数时,什么也没有发生。没有错误,但 Skype 无法启动。

从 cffunction 传递 JSON 值以便可以在 javasctipt 端执行的正确方法是什么?我尝试了很多方法,但就是无法使其发挥作用。请帮忙。谢谢。

最佳答案

几个问题:如果 skypeme.cfc 返回 200 OK(html header ),ajax 调用的成功部分将始终执行,因此返回“false”实际上将返回字符串“false”,并且成功将执行。你应该做的是始终返回一个 JSON 字符串,并且格式始终相同(还有为什么要使用查询对象?使用结构):

<cfcomponent output="false"> 
<cffunction name="cfskypeme" access="remote" returnformat="JSON" output="false">
<cfargument name="var1" required="true">
<cfargument name="var2" required="true">
<cfset var stReturn = structNew()>
<cfset stReturn.LOGIN=false>
<cfset stReturn.ID="">

<cfif user login logic>
<cfquery name="skypelist"> <!---check db for skypeid--->
</cfquery>
<cfif skypelist.recordcount eq 1>
<cfset stReturn.LOGIN=true>
<cfset stReturn.ID=skypelist.skype>
</cfif>
</cfif> <!--- end login logic --->

<cfreturn SerializeJSON(stReturn)>
</cffunction>
</cfcomponent>

关于javascript - 如何从 CFFUNCTION 传递 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29338790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com