Отправка JSON через JQuery в Java - PullRequest
0 голосов
/ 21 января 2011

У меня есть URL, который принимает JSON через метод post. Должен вернуть cookie и статус.

Когда я пытаюсь сделать следующее (имя пользователя и пароль должны соответствовать JSON, который я пытаюсь отправить), я не получаю ответа, есть идеи?

<script>
$.post("https://login-url",{"username":"user","password":"1234567890"},
function(data){
     alert("Data Loaded: " + data);
   }, "JSON" );    
</script>

UPDATE:

После комментария DavidDorward мой код выглядит так:

<script>
$.ajax({
    url: 'https://loginurl',
    type: 'POST',
    data: '{"username":"user","password":"1234567890"}',
    contentType: 'application/json',
    dataType: 'text',
    success: function(msg){
     alert("Data Loaded win: " + msg);}

}); * +1011 *

</script>

Чтобы немного лучше описать мою ошибку, необходимо вернуть статус и файл cookie. Когда я загружаю эту страницу firefox и наблюдаю за ней с помощью firebug, нет ответа, и в заголовке не загружается информация cookie. Хотя кажется, что он попадает в URL, это заставляет меня думать, что это все еще проблема с данными. Хотя, если имя пользователя и пароль неверны, он должен вернуть ошибку, а это не так. Это просто последовательно возвращает «ноль».

И чтобы ответить на вопрос Мэтта, URL входа в систему ожидает только «имя пользователя» и «пароль» в формате JSON и типе строки

Ответы [ 4 ]

1 голос
/ 21 января 2011

Если вы хотите использовать jQuery, чтобы сделать POST-запрос с телом JSON, вам нужно использовать ajax метод , а не одну из более простых альтернатив.Укажите contentType как «application / json», преобразуйте ваш объект JavaScript в строку, содержащую JSON, прежде чем назначать его свойству data.

0 голосов
/ 29 июня 2012

Измените параметр dataType на 'json'. Вам не обязательно включать contentType

dataType: 'json'

0 голосов
/ 21 января 2011

Мне кажется, у вас какая-то междоменная проблема AJAX.Например, если используемая страница использует http, а URL-адрес, к которому вы пытаетесь получить доступ, использует https, вы столкнетесь с этой проблемой.

Результат часто соответствует тому, что вы описываете: нет ответа

http://en.wikipedia.org/wiki/Same_origin_policy

С уважением, Томас Кан

0 голосов
/ 21 января 2011

Ваши данные не будут отправлены в формате JSON.

'dataType: тип данных, ожидаемых от сервера.' http://api.jquery.com/jQuery.post/

Попробуйте:

{"json": '{"username":"user","password":"1234567890"}'}

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