Как выйти, и в POST запрашивают в jQuery?

у меня есть входной элемент с и в значении:

<input type="checkbox" value="Biografie, životopisy, osudy, Domácí rock&amp;pop" />

Когда я пытаюсь отправить его через запрос ajax:

$.ajax({
    type: "POST",
    url: "/admin/kategorie/add/link.json",
    data: "id="+id+"&value="+value+"&type="+type,
    error: function(){alert('Chyba! Reloadněte prosím stránku.');}
});

данные сообщения, которые на самом деле отправляются:

id: 1
pop:
type: e
value: Biografie, životopisy, osudy, Domácí rock

*Обратите внимание, что все переменные в данных определяются, и значение содержит $ (thatInputElement) .attr ('значение').

Как я могу выйти &amp; правильно так, чтобы поле сообщения value содержал бы Biografie, životopisy, osudy, Domácí rock&amp;pop?

9
задан cypher 23 July 2010 в 14:32
поделиться

5 ответов

Вы можете задать data опцию как объект и позволить jQuery сделать кодировку, как здесь:

$.ajax({
  type: "POST",
  url: "/admin/kategorie/add/link.json",
  data: { id: id, value: value, type: type },
  error: function(){ alert('Chyba! Reloadněte prosím stránku.'); }
});

Вы можете закодировать каждое значение, используя encodeURIComponent(), как здесь:

encodeURIComponent(value)

Но первый вариант намного проще/короче в большинстве случаев :)

26
ответ дан 4 December 2019 в 07:46
поделиться

Функция javascript "escape()" должна работать, а на сервере метод HttpUtility.UrlDecode должен снять кодировку. Могут быть некоторые исключения. Кроме того, если вам нужно декодировать на клиенте, на клиенте есть эквивалент "unescape()".

0
ответ дан 4 December 2019 в 07:46
поделиться

Вместо этого используйте код символов HTML для &: \u0026

0
ответ дан 4 December 2019 в 07:46
поделиться

Вместо этого вы можете создать объект и передать его:

vars = new Object();
vars.id = id;
vars.value = value;
vars.type = type;

$.ajax({
  type: "POST",
  url: "/admin/kategorie/add/link.json",
  data: vars,
  error: function(){ alert('Chyba! Reloadněte prosím stránku.'); }
});
0
ответ дан 4 December 2019 в 07:46
поделиться

Вы пробовали использовать этот синтаксис?

 data: {"id":id, "value": value, "type": type }
2
ответ дан 4 December 2019 в 07:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: