почему jQuery обработчик callBack возвращает [объект Object] - PullRequest
0 голосов
/ 13 марта 2020

Я создал SessionMgr.cf c

<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] в обработчик 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);
 }

любая помощь будет оценена. Поэтому я обновил код по вашему предложению Принца, однако я все еще получаю [объект объекта] в предупреждении.

Если я разбиваю объект, как я могу получить ответный текст? это имеет правильное значение; responseText: "12"

Ответы [ 2 ]

0 голосов
/ 13 марта 2020

Попробуйте изменить:

dataType: "text",

на:

dataType: "json",
0 голосов
/ 13 марта 2020

вместо этого используйте cfajaxproxy

<cfajaxproxy cfc="CFC/SessionMgr"       jsclassname="SessionMgr" />

, затем в

<script>
var s = new SessionMgr();
s.setValue('rID', x);
ReportID = s.getValue('rID');
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...