This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Как из VueJS передать значение переменной на серверную часть

Sublimate

Участник портала
11 Июн 2023
130
6
55
Привет всем. Решил понемногу делать сервер в связке JS+JS. Возник вопрос как условный логинпароль из окна регистрации передать на серверную часть
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,387
237
100
Привет! Для передачи данных с клиентской стороны (VueJS) на серверную сторону (Node.js) можно использовать HTTP запросы. Например, с помощью библиотеки Axios вы можете отправить POST запрос на сервер с данными логина и пароля из формы регистрации. В серверном коде (Node.js) вы можете обработать этот запрос и сохранить полученные данные. Надеюсь, это поможет вам разобраться!
 

youngBeaver

Покинул форум.
BackEnd developer
24 Янв 2023
1,173
463
171
В стандартном решении, на сколько я помню, нет передачи напрямую на сервер.
Ты можешь использовать, либо RPC, либо написать свой эвент на клиенте, который принимает в виде аргумента название эвента и массив данных. Далее по этому названию сразу триггерить на сервере эвент.

JavaScript:
// cef
mp.trigger("ui:server:event", "login", ["login", "password"])

// client-side
mp.events.add("ui:server:event", (eventName, data) => {
    if (eventName === "" || !data[0]) {
        return mp.console.logInfo("[ui:server:event] the arguments do not meet the requirements")
    }

    mp.events.callRemote(eventName, data)
})

// server-side

mp.events.add("login", (data) => {
})
 

Sublimate

Участник портала
11 Июн 2023
130
6
55
А как это смешать с vue?
 

Sublimate

Участник портала
11 Июн 2023
130
6
55
Можешь пожалуйста дать пример кода с mp.trigger, как это может выглядеть в реальности?
 

Sublimate

Участник портала
11 Июн 2023
130
6
55
Появилась новая проблема: Вместо логина и пароля -


JavaScript:
mp.trigger("ui:server:event", "register", [username, password]);


JavaScript:
mp.events.add("register", (data) => {
    console.log(data)
})
 

youngBeaver

Покинул форум.
BackEnd developer
24 Янв 2023
1,173
463
171
если эвент "mp.events.add("register")", то первым аргументом всегда идет игрок на сервере.
UPD. Опять я хуйню сморозил, исходя из консоли, это 100% сервер. В таком случае, ты первым аргументом получаешь игрока и называешь его data. В таком случае ты должен сначала принимать player (игрок, который инициировал эвент) и data (массив данных, которые ты передал). Ребят, хватит все на форум постить. Про pendingRPC я нашел ответ в другой теме.
 
Реакции: m0v1l3

Sublimate

Участник портала
11 Июн 2023
130
6
55
Можешь дать пожалуйста, как это должно выглядеть?
 

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,352
802
181
34

youngBeaver

Покинул форум.
BackEnd developer
24 Янв 2023
1,173
463
171
no no no, listen listen...
Данил, где типизация?
Вадим, это же обычный JS исходя из примеров. Так то я с C# не слазию, поэтому про типизацию помним всегда.
А тебе нужно через JSON.stringify перевести массив в строку и в консоли посмотреть содержание. А еще лучше не отвлекать на протяжении получаса, я доте хочу выиграть((
 
Реакции: Vermilion

Sublimate

Участник портала
11 Июн 2023
130
6
55
Понял, GL))
 
Реакции: youngBeaver

Sublimate

Участник портала
11 Июн 2023
130
6
55
Короче тут я передаю login и password в data
JavaScript:
mp.trigger("ui:server:event", "register", login, password);

А тут я пытаюсь их достать

JavaScript:
mp.events.add("register", (player, data) => {
    try {console.log(JSON.stringify(data))} catch (e) {console.log(e)}
})

mp.events.add("register", (player, data) => {
    try {console.log(JSON.stringify(data[0]))} catch (e) {console.log(e)}
})

mp.events.add("register", (player, data) => {
    try {console.log(JSON.stringify(data[0].login))} catch (e) {console.log(e)}
})

mp.events.add("register", (player, data) => {
    try {console.log(JSON.stringify(data.login))} catch (e) {console.log(e)}
})

mp.events.add("register", (player, data) => {
    try {console.log(JSON.stringify(data.login), JSON.stringify(data.password))} catch (e) {console.log(e)}
})

Но ни-ши-ша, достаётся только логин(Везде, где я написал только для login подразумевается что и для пароля тоже было(Например data.login, data.password))
 

youngBeaver

Покинул форум.
BackEnd developer
24 Янв 2023
1,173
463
171
а ты проверь на CEF, что ты именно передаешь в переменной password.