#javascript #arrays #ajax #send
#javascript #массивы #ajax #Отправить
Вопрос:
Возможно ли отправлять не редактируемые массивы?
То, что я пытаюсь отправить, это:
var items = [];
//console.log(JSON.stringify(items));
allitems = JSON.stringify(items);
[{
"assetid": "7814010469",
"classid": "1797256701",
"instanceid": "0",
"name_color": "D2D2D2",
"icon_url": "-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXU5A1PIYQNqhpOSV-fRPasw8rsUFJ5KBFZv668FFYznarJJjkQ6ovjw4SPlfP3auqEl2oBuJB1j--WoY322QziqkdpZGr3IteLMlhpw4RJCv8",
"market_hash_name": "Gamma Case"
}]
$.ajax({
type: "POST",
async: true,
url: "jackpot/deposit",
data: {
myData: allitems
},
success: function(body) {
toastr["info"]("Success! Our bots are generating your trade. Please wait...", "Inventory");
},
});
Но я хочу сделать его недоступным для редактирования через консоль.
И отправить его.
Комментарии:
1. Что вы подразумеваете под не редактируемым?
2. Что такое
allitems
? Ваша переменнаяitems
.3. Я имею в виду, что я хочу, чтобы мой скрипт добавлял «элементы» в массив, но я не хочу, чтобы пользователь редактировал или манипулировал массивом через консоль.
Ответ №1:
Вы должны иметь возможность использовать Object.freeze(), чтобы предотвратить изменение массива. Например:
var arr = [1, 2, 3];
Object.freeze(arr);
arr.push(4); // error
Комментарии:
1. Но «элементы» выбираются из инвентаря. Если я его заморозю, скрипт вообще не сможет добавить их в массив.
2. @MustafaKutlu замораживает массив после выполнения всех манипуляций, но до его отправки.
3. Пользователь может поместить в массив несколько элементов. Если я замораживаю его после отправки элементов, они все еще могут редактировать до его отправки. И замораживание после 1 нажатия не является вариантом, потому что массив становится заблокированным. Я схожу с ума..
4. @MustafaKutlu Итак, вы беспокоитесь о том, что пользователь сможет получить доступ к переменным с консоли? Почему бы тогда не использовать локальные переменные?
5. Да, точно. Как я должен использовать локальные переменные?