HTML / JS-从index.js onclick调用函数

时间:2018-08-29 08:51:06

标签: javascript html sockets

我想在我的function.js中从index.js内调用一个函数,但是因为它链接到浏览器,所以我不能使用import或require?

我有一个index.js,index.html和另一个functional.js文件。

function.js文件由index.html使用,在此文件中, 在特定情况下附加一些html,我想做的是onclick调用一个函数,但是从我的index.js文件中调用此函数,该文件必须存在,因为它需要一个socket.id。

查看此处:

* functionality.js:

$('#messages').append($('<li id="messageclient">').append($(`
        <div id="message-cont" class="message-cont">     
        <div class="orderDetailsWrapper">
        <div class="detailsHeaderWrapper">
            <div class="orderNum"></div>
            <div class="customerName"></div>
        </div>

        <div class="textToCustomer">
        <p> Please click on the item you want to return</p>

       </div>

        <div class="itemBoxWrapper">
            <div class="item1Wrapper" onclick="matchingResponse()">
                <div class="item1Title"></div>
                <div class="item1Price"></div>
            </div>

* index.js

function matchingResponse() {
    var options = {
        method: 'POST',
        uri: 'https://dialogflow.googleapis.com/v2beta1/projects/returnsbot-50668/agent/sessions/1:detectIntent',
        headers: {
            'Authorization': `Bearer ${oAuthToken}`,
            'Content-Type': 'application/json'
        },
        body: {
            "queryInput": {
                "event": {
                    "name": "Matching",
                    "languageCode": "en"
                }
            }
        },
        json: true // Automatically stringifies the body to JSON
    };
    // initial message triggering.
    rp(options)
        .then(function (parsedBody) {
            console.log('DF response' + JSON.stringify(parsedBody))
            console.log('text ^^^^^^^^^^^^^^ ' + JSON.stringify(parsedBody.queryResul))
            text = parsedBody.queryResult.fulfillmentText;

            response = text;
            console.log('matching response +++++++++++' + text);

            data = [details.chatuser, response]
            io.of('/main').to(socket.id).emit('response', data);

        })
        .catch(function (err) {
            console.log(err);
        });
}

因为套接字函数在index.js文件中,所以我需要在其中使用这个matchresponse函数来使用适当的ID。

function.js中有问题,我无法使用导入/要求。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

如果您未在加载时调用任何函数,只需向您的html中添加functional.js和index.js文件。