2017-04-21 3 views
0

누군가 elses 코드를 기반으로 일부 코드를 작성했습니다. 그들의 코드는 (그것을 here 참조) 완벽하게 작동하지만, 내 나 Uncaught TypeError: callback is not a functionTypeError - "콜백이 함수가 아닙니다."

내 코드의 조각 제공 :

또한
ext.verify_acc = function(username, password, callback) { 
    $.ajax({ 
     url: '//api.bos2.cf/?type=verify&username=' + username + '&password=' + password + '&callback=?', 
     dataType: 'json', 
     success: function (responseText) { 
      messages = responseText['success']; 
      callback(messages); 
     } 
    }) 
}; 

, 모든 코드가 ext.verify_acc 기능에 체류해야합니다. 이 코드가 원하는 코드는 내부에 코드가 없으면 작동하지 않습니다. 함수 호출

그리고 단지가 케이스, 스크립트 :

var descriptor = { 
    blocks: [ 
     ['b', 'Check credentials %s %s', 'verify_acc', 'Username', 'Password'], 
    ]//          ^
};//           ^
//--------THE-FUNCTION-THAT-GETS-CALLED--------^------------------------------- 

위쪽 스크립트 위는 당신이 말하는 이유를 알고 있다면 클릭하면 함수

를 호출하는 블록을 렌더링 callback is not a function 후 알려주세요 나를.

+0

오류의 어떤 부분을 이해하지 못합니까? 콜백을 전달해야합니다. – SLaks

+0

@SLaks 나는 모든 것을 올바르게했다고 생각하지만 오류가 발생합니다. 나는 내가 뭘 잘못했는지 알고 싶다. 콜백을 통과하지 않습니까? – csf30816

+0

@ csf30816 두 번째 스 니펫에서 블록을 가져 와서 첫 번째 코드 조각에서 함수를 호출하는 코드를 보지 않고도 우리가 알 수있는 방법이 없습니다. – Ken

답변

0

당신은 함수가 아닌 함수 이름을 사용해야합니다

var descriptor = { 
    blocks: [ 
     ['b', 'Check credentials %s %s', ext.verify_acc, 'Username', 'Password'], 
    ] 
}; 

을하지만 난 당신이 언급 한 소스 코드를 읽으면 당신이 어디 있어요 생각하지 않습니다. 또는 그들은 악을 사용할지도 모른다 eval().

+0

뭔가 확장 기능을 구축 중이므로'''verify_acc'''' 만 입력하면됩니다. "''ext.verify_acc''''를 실행하려고하면 작동 : ( – csf30816

+0

그럼'verify_acc'가 아니라'verify_acc'을 사용하십시오. – Yvan

관련 문제