Vadlmok Posted November 11, 2017 Posted November 11, 2017 Добрый день форумчане. При написании формы, возник вопрос: "Как сделать, чтобы с Cef при нажатии на кнопку, отправлялся запрос на index.js, который находится в client_packages?". Спасибо за ответ =)
Vadlmok Posted November 11, 2017 Author Posted November 11, 2017 22 минуты назад, kemperrr сказал: HTML ( CEF ) <html> <head> </head> <body> <form id="form-id"> <button id="your-id">submit</button> </form> </body> <script> window.addEventListener("DOMContentLoaded", () => { let form = document.getElementById("form-id"); document.getElementById("your-id").addEventListener("click", () => { let jsonObject = { name: "kemperrr", password: "123456_lol" } mp.trigger("buttonClicked", "HAHAHAHAHHA", 12345, JSON.stringify(jsonObject)); }); }); </script> </html> Client-side mp.events.add("buttonClicked", (str, num, strJSON) => { let parsedJSON = JSON.parse(strJSON); mp.game.graphics.notify(`Name : ${parsedJSON.name} Password : ${parsedJSON.password}`); mp.events.callRemote("serverButtonClicked", str, num, strJSON); }); Server-side mp.events.add("serverButtonClicked", (str, num, strJSON) => { let parsedJSON = JSON.parse(strJSON); console.log(str, num, parsedJSON); // -> "HAHAHAHAHHA", 12345, { name: "kemperrr", password: "123456_lol" } }); Спасибо за ответ. Вопрос: "Обязательно ли использоваться Json?"
Vadlmok Posted November 11, 2017 Author Posted November 11, 2017 4 часа назад, kemperrr сказал: Да, ибо JS объекты передать нельзя Спасибо большое! Я сделал слегка по другому <script type="text/javascript"> function btnClick() { mp.trigger('eventCef', $("#email").val(), $("#pass").val()); } </script> потом отправляю текст на серверную часть и норм всё работает, не понимаю о каких объектах ты говоришь. Может в дальнейшем столкнусь
Vadlmok Posted November 11, 2017 Author Posted November 11, 2017 1 минуту назад, kemperrr сказал: Почитай - https://learn.javascript.ru/object советую сразу вникнуть в них, потому что эти объекты очень упрощают работу и вот пример сразу же //Плохой пример let playerInfo = []; mp.events.add("playerJoin", (player) => { playerInfo[player.id].password = "123456"; playerInfo[player.id].lvl = 1; }); mp.events.addCommand("testInfo", (player) => { console.log(playerInfo[player.id].password, playerInfo[player.id].lvl); }); //Хороший пример mp.events.add('playerJoin', (player) => { player.info = { password: "123456", lvl: 1 }; }); mp.events.addCommand("testInfo", (player) => { console.log(player.info.password, player.info.lvl); }); Есть такое подобное в Pawn enum называется, спасибо, я учту
Vadlmok Posted November 11, 2017 Author Posted November 11, 2017 Только что, kemperrr сказал: Именно от enum я и хотел тебя избавить) Понял, буду юзать это) Json сразу идёт же или подключать нужно? А то я подзабыл)
Vadlmok Posted November 11, 2017 Author Posted November 11, 2017 Только что, kemperrr сказал: JSON стандартно поддерживается JS Понял. Ещё вопрос, в дальнейшем будет ли шифрование файлов скачанные с сервера или нужно самому какой нибудь костыль делать? я про клиентскую часть
Lotswaride Posted March 3, 2018 Posted March 3, 2018 Почему-то выдает в логах: { setVariable [Function], call: [Function] } где должно быть { name: "kemperrr", password: "123456_lol" }
WampiR Posted March 4, 2018 Posted March 4, 2018 (edited) 14 часа назад, Lotswaride сказал: Почему-то выдает в логах: { setVariable [Function], call: [Function] } где должно быть { name: "kemperrr", password: "123456_lol" } Первый аргумент в событиях на сервере всегда объект Player, скорее всего этот объект вывелся, вместо ожидаемого. Edited March 4, 2018 by WampiR 1
Lotswaride Posted March 4, 2018 Posted March 4, 2018 14 минуты назад, WampiR сказал: Первый аргумент в событиях на сервере всегда объект Player, скорее всего этот объект вывелся, вместо ожидаемого. спасибо!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now