Какие форматы данных Ajax может передать?

Два варианта:

  1. Сложнее: используйте динамическое население и $ wpdb , чтобы запросить ваше значение.

    function my_populate_func( $value ) {
        global $wpdb;
        return $wpdb->get_var( 'SELECT whatever FROM wp_my_table WHERE something = else' );
    }
    
  2. Проще: используйте Gravity Forms Заполните что-нибудь для запроса и заполнения непосредственно из настроек поля (без кода).

    Populate Anything Field Settings

10
задан Robinicks 17 May 2009 в 11:38
поделиться

7 ответов

Если мы говорим об ajax, мы говорим о javascript? А насчет XMLHTTPRequest?

XMLHttpRequest, который является только http-запросом, может передавать все. Но в javascript нет байтового массива. Только строки, числа и тому подобное. Все, что вы получаете от вызова ajax, - это кусок текста (responseText). Это может быть проанализировано в XML (что дает вам reponseXML). Специальные кодировки должны больше зависеть от транспорта http.

Бинарный материал не зависит от ajax, а зависит от javascript. Есть несколько странных кодировок для строк для доставки байтовых данных внутри в javascript (особенно для изображений), но это не общее решение.

HTML не является проблемой, и это наиболее распространенный вариант использования.

4
ответ дан 4 December 2019 в 01:57
поделиться

Поскольку данные передаются через HTTP, вам необходимо убедиться, что вы используете какую-то кодировку. Одна из самых популярных - это кодировка base64. Дополнительную информацию можно найти по адресу: http://www.webtoolkit.info/javascript-base64.html

Методология заключается в кодировании base64 данных, которые вы хотите отправить, а затем base64-декодировании данных на сервер (или клиент) и используйте исходные данные по своему усмотрению.

2
ответ дан 4 December 2019 в 01:57
поделиться

Вы можете передавать данные любого типа: строки или байты

1
ответ дан 4 December 2019 в 01:57
поделиться

Вы можете отправлять все, что захотите, проблема может заключаться в том, как с этим справиться, как только вы его получите;)

Стандартный HTML, вероятно, является наиболее распространенным типом содержимого ajax, которое используется - вы также можете выбрать кодировку символов, хотя всегда лучше придерживаться одного типа кодировки.

1
ответ дан 4 December 2019 в 01:57
поделиться

AJAX просто означает, что вы передаете данные асинхронно через HTTP с помощью вызова JavaScript. Итак, ваш сценарий выполняет «нормальный» HTTP-запрос с помощью объекта XmlHttpRequest (). Однако, как следует из названия, он действительно подходит только для текстовых форматов данных, поскольку вы обычно хотите выполнить какое-то действие на стороне клиента с данными, полученными с сервера (хотя не всегда, иногда люди просто отправляют XmlHttpRequests только на обновлять что-то на сервере).

Кстати, я никогда не видел приложения, в котором отправка двоичных данных в любом случае была бы уместной.

Чаще всего люди предпочитают отправлять данные на сервер с помощью POST или GET (который в основном является методом передачи пар «имя-значение», присущих HTTP). Для отправки более сложных данных, например иерархических структур, их нужно как-то закодировать. XML-документы могут быть созданы изначально для JavaScript, отправлены на сервер и проанализированы на любые необходимые типы данных. Но поскольку XML может быть немного неудобным, многие разработчики вместо этого используют данные в кодировке JSON, потому что их легко генерировать и легко анализировать.

То, что сервер отправляет обратно, также произвольно. Обычно вы указываете в своем Javascript функцию обратного вызова, которая обрабатывает входящие данные. Опять же, популярными вариантами являются XML и JSON, они легко преобразуются в объект документа или структуру массива соответственно. Вы также можете отправить простой текст или какую-либо другую упаковку, но помните, что тогда вы должны сами позаботиться об извлечении из нее полезных данных. Иногда также может быть полезно отправить фактические фрагменты HTML клиенту, чтобы обновить что-то на странице напрямую.

Для начала, Предлагаю вам взглянуть на JQuery. Это очень легкий фреймворк, который абстрагируется от многих неприятных вещей, связанных с совместимостью, и позволяет очень красиво писать запросы AJAX.

1
ответ дан 4 December 2019 в 01:57
поделиться

Вы можете перемещать все, что можно отправить по HTTP. Существуют ограничения на вызовы того же домена, из которого загружена страница, но не на содержимое передачи. Вы также можете выполнять транзакции GET или POST.

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

Существует Digg the Blog запись под названием DUI.Stream и MXHR , которая демонстрирует то, что они называют «Multipart XMLHttpRequests». Сейчас это альфа-код, но есть демонстрация , которая обрабатывает изображения .

0
ответ дан 4 December 2019 в 01:57
поделиться
Другие вопросы по тегам:

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