2010-12-13 2 views
4

У меня есть некоторые данные, позволяет сказать:Могу ли я разместить JSON без использования AJAX?

var dat = JSON.stringify(frm.serializeArray()) 

Я хочу представить это на сервер, используя туда и обратно (он же, не AJAX).

Я знаю, что это возможно, но я не могу найти на нем никакой литературы. Идеи?

(Я использую JQuery, если это делает его легче)

EDIT: в то время как все эти ответы до сих пор ответить на этот вопрос, я должен был включить, что Я хочу «тип контента» из «приложения/JSON "

+5

Что, черт возьми, это «кругосветное путешествие»? –

+0

Почему вы не хотите отправлять данные с помощью AJAX? – Crozin

+3

@Crozin AJAX не пригодится 100% случаев. Если вам нужен другой ответ, например, загрузка файла динамически ... запомнить ограничения JS –

ответ

7
  1. Создайте HTML-форму с уникальным атрибутом «id». Вы можете скрыть его с помощью CSS «display: none». Также заполните атрибуты действия и метода.
  2. Добавить text или hidden поле ввода к форме. убедитесь, что вы придаете ему значимый атрибут «имя». Это имя, на котором сервер будет получать данные внутри.
  3. Использование JQuery (или обычный старый JavaScript) скопировать переменную «Дат» в поле ввода
  4. Submit формы, используя скрипт
2

Вам нужно будет назначить строку json значению ввода внутри тега формы, чтобы он мог получить POST на сервер (либо пользователем, отправившим форму, либо нажав кнопку отправки программно).

В качестве альтернативы из javascript вы можете использовать window.location для отправки переменной как части запроса GET.

2
<form action="xxx.aspx" method="POST"> 
    <input type='hidden' id='dat' /> 

    <!-- Other elements --> 
</form> 

<script type='text/javascript'> 
    $('#dat').val(JSON.stringify(frm.serializeArray())); 
</script> 
4

Существует рабочий проект для поддержки так называемой HTML- JSON-FORMS, см .: http://www.w3.org/TR/2014/WD-html-json-forms-20140529/

До сих пор использовать ajax или отправить json во входное текстовое поле.

Смежные вопросы