#javascript #jquery
#javascript #jquery
Вопрос:
есть такая функция:
this.rmSaveParam = function(index, value, responseMethod, errorMethod) {
$.ajax({
type: "GET",
dataType: 'json',
cache: false,
url: this.destination_ (updater.currentDevice_ ? "rmNewParam?uid=" encodeURIComponent(updater.currentDevice_) "amp;" : "rmNewParam?") "newParamIndex=" encodeURIComponent(index) "amp;newParamValue=" encodeURIComponent(value),
success: responseMethod,
error: errorMethod
});
return false;
}
this.destination_
= https://www.econet24.com /
updater.currentDevice_
= C6ZPLELPP36R45624503480
index
= 56
value
= 67
Я пытаюсь угадать, как будет выглядеть URL-адрес. Я пробую что-то вроде этого, но, вероятно, это неправильно (слишком много вопросительных знаков?): «https://www.econet24.com/C6ZPLELPP36R45624503480rmNewParam?uid=C6ZPLELPP36R45624503480amp;rmNewParam?newParamIndex=56amp;newParamValue=67»
Комментарии:
1. Почему бы не выяснить это с помощью кода, а не угадывать?
2. О боже. Это ужасный беспорядок ручного материала, который должен быть просто
data: {}
свойством.
Ответ №1:
Это достаточно просто выяснить. Не нужно гадать!
const destination = 'https://www.econet24.com/';
const currentDevice = 'C6ZPLELPP36R45624503480';
const index = 56;
const value = 67;
const url = destination
(currentDevice
? "rmNewParam?uid=" encodeURIComponent(currentDevice) "amp;"
: "rmNewParam?")
"newParamIndex=" encodeURIComponent(index)
"amp;newParamValue=" encodeURIComponent(value);
console.log(url);
Есть лучший и гораздо более чистый способ сделать это.
this.rmSaveParam = function(index, value, responseMethod, errorMethod) {
const queryParams = {
newParamIndex: index,
newParamValue: value
};
if (updater.currentDevice_) {
queryParams.uid = updater.currentDevice_;
}
$.ajax({
type: "GET",
dataType: 'json',
cache: false,
url: this.destination_ rmNewParam,
data: queryParams,
success: responseMethod,
error: errorMethod
});
return false;
}
Обратите внимание на отсутствие encodeURIComponent
, это делается для вас автоматически.