2016-12-13 3 views
0

Если я использую:Ajax функциональной зависимости между запросом и ответом типом

xhr.setRequestHeader("Content-Type", "application/json"); 

я вынужден получать json ответ также? Или я могу получить ответ html?

Если я могу получить любой формат, я хочу, что это лучший способ для динамического управления это 2 аспекта:

  1. так, что я буду анализировать ответ (для разбора JSON или нет)
  2. какие Accept заголовок использовать

Например моя функция должна установить:

xhr.setRequestHeader('Accept', "application/json"); 

в случае, если он ожидает ответ json, но также также выполняет синтаксический анализ json на ответ, но в случае, если это html-ответ, нет необходимости в подобном.

Как можно управлять динамической обработкой ответа?

ответ

0

Фактически тип содержимого - это тип данных, который вы хотите отправить на сервер. с другой стороны, тип данных или, как вы упоминаете, accept, используется для согласования с сервером того типа данных, который вы ожидаете. Так как клиент вы можете запросить несколько типов данных например

httpRequest.setRequestHeader('Accept', 'application/json, text/xml'); 

Но вы ответственны обрабатывать тип данных вы упоминаете для синтаксического анализа на стороне клиента. на стороне сервера решает сервер в течение времени согласования для создания желаемого типа данных, такого как xml, json, html и т. д.

Итак, наконец, вы несете ответственность за запрошенный вами формат данных. если вы запросите json, то, вероятно, данные ответа сервера будут json not xml, но вы должны помнить, что это зависит от того, на какой стороне сервера он выбирает выбор типа данных, большую часть времени его json или xml (будет известен обмен данными fromat), тогда вам не нужно запрашивать html, и этот механизм называется согласованием контента

0

Я также вынужден получить ответ json?

No. Формат данных, которые вы отправляете, и формат данных, которые вы получаете, не связаны.

Или я могу получить html-ответ вместо этого?

Вы можете.

так, что я буду анализировать ответ (для разбора JSON или нет)

Read хедер Content-Type ответа и использовать его, чтобы определить, какой формат данных в.

, что Accept заголовок использовать

Спросите формат данных, который:

  • удобны обработка и анализ
  • знают, что сервер может посылать
Смежные вопросы