Can client side callback output trigger server side callback?

I am currently trying to run a database query on a client side callback which is triggered by a server side callback. The output for the client side call back is the input for the same server side callback to proceed with plotting the query results.

The callbacks are such:
serverside callback (Sets up a URL for the query) → clientside callback (Processes the database query) → serverside callback (Plots the query results)

The problem I’m currently running to is that the server side callback does not get triggered by the input value change from the client side callback.

Is it even possible for the server side callbacks to get triggered when the the input value is changed on the client side?

@idehsarvi, without seeing how your code is written, it is fairly difficult to say exactly. I believe that you can, but unable to verify.

However, you could instead use a button to trigger the last callback and trigger a click from inside the clientside callback.

This is example showing how clientside callback can trigger serverside callback.



from dash import Dash, dcc, html, Input, Output, callback, clientside_callback


app = Dash(__name__)


app.layout = html.Div([

    dcc.Input('Clientside Input', id='client-input'),

    dcc.Input('Serverside Input', id='server-input'),

    html.H2(id='server-output')

])


clientside_callback(
    """
    function(largeValue1) {
        console.log(largeValue1)
        return largeValue1;
    }
        
    """,
    Output('server-input', 'value'),
    Input('client-input', 'value')
)


@callback(
    Output(component_id='server-output', component_property='children'),
    Input(component_id='server-input', component_property='value')
)
def f1(input_):
    print(input_)
    return input_


if __name__ == '__main__':
    app.run(debug=True)