2015-12-21 2 views
1

я использую сервер vert.x с небольшим яваскриптом кодом, как следующие:Как отправить обратно JSon тип данные

$.ajax({ 
     type: 'POST', 
     url: 'http://localhost:8080', 
     data: {id:content}, 
     dataType: 'json', 
    }).done(function(data) {alert("succes")+data;}) 
    .fail(function() { alert("fail");}) 
    .always(function() { alert("complete");}); 

Когда я запускаю свою программу, у меня есть предупреждение («Succes») во всплывающем (что означает, что я сделал свой пост и получил ответ в ответ?), но переменные данные пустые. В моем коде Java я делаю это, чтобы отправить ответ:

request.response().putHeader("content-type", "json") 
      .end(Json.encodePrettily(content)); 

Где содержание является просто строка с тем, что я размещать на сервере с запросом POST. Если у меня есть ответ моего сервера, почему поле данных моего js-кода по-прежнему пусто? Я делаю это неправильно?

+2

Правильный тип содержимого для JSON является 'приложение/json'. Как вы проверяете ответ? Вы просто объединяете возвращаемое значение вызова 'alert', который является' undefined' с ответом запроса и ничего не делает с возвращаемым значением. – undefined

+0

... Проверьте вкладку сети браузера для отладки Ajax-запросов или зарегистрируйте переменную с помощью функции 'console.log'. 'alert' не является хорошим вариантом для отладки. – undefined

+0

Когда я заменяю json приложением/json, он отвечает мне «fail». Тиос нормальный? – morpheus21

ответ

1

Измените ваше предупреждение к этому:

alert("success \n" + JSON.stringify(data)); 
+0

Это работает. Большое спасибо. – morpheus21

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