Отправка JSON с помощью JQuery - PullRequest
       4

Отправка JSON с помощью JQuery

4 голосов
/ 04 октября 2010

Попытка заставить JQuery отправить JSON на сервер:

$.ajax({  
  url: "/path/to/url",  
  type: "POST",  
  dataType: "json",  
  contentType: "json",  
  data: {"foo": "bar"},  
  success: function(){              
    alert("success :-)");  
  },  
  error: function(){  
    alert("fail :-(");  
  }  
});  

Проблема в том, что данные отображаются на сервере как "foo=bar", а не как "{\"foo\":\"bar\"}.

Я думал, что указание параметров dataType или contentType поможет, но нет.

Кто-нибудь знает правильную конфигурацию ajax? [или, альтернативно, способ сериализации параметра «данные» как JSON до публикации?]

Спасибо!

Ответы [ 2 ]

10 голосов
/ 04 октября 2010

Вы можете использовать json2.js :

data: JSON.stringify({"foo": "bar"})
1 голос
/ 04 октября 2010

Тип данных для возвращаемых данных. Тип содержимого не применим, см. здесь

Он может отправлять только строки, я использую JSON.stringify для моих созданных объектов javascript, в вашем случае вы можете просто вручную кодировать строку.

Вам также потребуется доступ к строке на стороне сервера, для этого, если вы используете Java, я могу порекомендовать Google gson

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...