Ошибка вызова функции js при загрузке в index.html

Я хочу вызвать функцию JS, когда загружается index.html.

Эта функция js определена в файле main.js.

Я могу назвать это, используя следующий способ

           <input type="button" value="Submit" onclick="getSecretData()" />

Но я хочу, чтобы эта функция вызывалась каждый раз, когда загружается index.html (вместо кнопки)

Я попробовал приведенный ниже код. Это не работает. Можете ли вы помочь?

                index.html 

    <script>
        $(document).ready(function() {

        getSecretData();


        });
        </script>


    main.js 

        function getSecretData(){
    var invocationData = {
        adapter: "DummyAdapter",
        procedure: "getSecretData",
        parameters: []
    };

    WL.Client.invokeProcedure(invocationData, {
        onSuccess: getSecretData_Callback,
        onFailure: getSecretData_Callback
    });
    }

    function getSecretData_Callback(response){
    alert("getSecretData_Callback response :: " + JSON.stringify(response));
    }

Спасибо

2 ответа

Решение

Вы используете Worklight. Вы читали учебные материалы?

Другие ответы, приведенные здесь, могут работать для вас, но поскольку вы используете Worklight, вы должны сделать это в более подходящем подходе для приложений на основе Worklight.

В вашем приложении Worklight, в общем \js\main.js, есть wlCommonInit(),
Если вы хотите, чтобы какой-то код запускался при запуске приложения, разместите его там.

function wlCommonInit() {
    myFunction();
}

function myFunction(){
    // whatever you want to run...
}

Обратите внимание, что вызывать адаптеры при запуске приложения нецелесообразно. Адаптеры требуют подключения к серверу Worklight, поэтому сначала нужно попытаться подключиться к серверу, используя WL.Client.connect и если вам это удастся, только тогда вызовите адаптер через подключение onSuccess Перезвоните.

WL.Client.connect({onSuccess: myFunction, onFailure: connectionFailure});

Например:

function wlCommonInit() {
    WL.Client.connect({
        onSuccess: myFunction,
        onFailure: connectionFailure
    });        
}

function myFunction(){
    // whatever you want to run...
}

function connectionFailure(){
    // ...
}

Вы можете попробовать это.

document.querySelector('body').addEventListener("load", getSecretData, false);

Для получения дополнительной информации я рекомендую прочитать этот предыдущий ответ или страницу MDN

Другие вопросы по тегам