Публикация введенного пользователем текста с помощью $.ajax, как передать текстовое содержимое в свойстве data?

#javascript #jquery #ajax

#javascript #jquery #ajax

Вопрос:

Какие варианты у меня есть для передачи большого текста при вызове $.ajax(...) ?

У меня уже есть содержимое, сохраненное в переменной:

 articleText
  

Итак, у меня есть:

 $.ajax(
 type: "POST",
 url: "/test/add_article",
 dataType: "json",
 data: ??????,
 success: function(d) {
    alert(d);
 }
});
  

В документах они показывают:

 "p1=asdfasdfamp;p2=2sdfasdf"
  

Также:

 data: ({someName: someValue })
  

Мне нравится последнее, так что someValue где я помещаю свою переменную?

Как насчет его кодирования или это просто как сообщение формы, где я могу обработать это на стороне сервера?

)

Комментарии:

1. Вы пробовали это? Вчера я изучал jquery. (Буквально) и разобрался с этим, разбив его, пока он не заработал…

2. да, я просто хочу знать свои варианты…. Я выполнил первый способ

3. Первый метод уже является строкой запроса, тогда как второй метод будет преобразован в строку запроса с помощью jQuery, если processData не задано значение false явно.

Ответ №1:

Вы бы просто сделали data: { aT: articleText } . Затем в вашем серверном скрипте вы можете получить доступ к этому тексту как к переменной post aT … в PHP это было бы: $_POST['aT'] .

jQuery преобразует { aT: articleText } в "aT=myTextContentWouldBeHere" .

Ответ №2:

Просто измените data на

 data: {"someName": someValue}
  

если someValue является переменной, иначе

 data: {"someName": "someValue"}
  

если значение someValue само по себе является значением.