Я новичок в JSON, на самом деле Javascript. Я действительно нашел код у кого-то и попытаюсь реализовать это для того, что я пытаюсь сделать.Как передать JSON из CFFUNCTION
На моем 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>
То, что я хочу сделать, это позвонить ОФС, а также проверить, если пользователь Войти, если не называть функция входа. Если пользователь уже выполнил вход, проверьте базу данных. Если найден идентификатор skype, поднимите skype, если ничего не сделайте. Но то, что происходит, когда я вызываю функцию skypme() из моего html, ничего не происходит. Нет ошибки, но скайп не запускается.
Каков правильный способ передачи значения JSON из cffunction, чтобы он мог выполняться на стороне javasctipt? Я пробовал много способов, но просто не могу заставить его работать. Пожалуйста помоги. Спасибо.
Нет, ваш Javascript Ajax запрос ожидает JSON, вы должны вернуть json к нему, а не javascript. –
в вашем skype me.cfc вам не нужны 'cfoutput' или' # 'в любых ваших операторах' cfif' или 'cfreturn'. –
'' является проблемой. Нет ничего, чтобы предположить, что эти переменные фактически существуют. –