Я установил несколько очень простых веб-сервисов на своем сервере Glassfish, используя JAX-RS.Первоначально все, казалось, работало правильно - я видел ожидаемые ответы через браузер (например, возвращенный HTML).Вот код:
@GET
@Produces("text/HTML")
public String getHtml() {
return "<html lang=\"en\"><body><h1>GET RESPONSE</body></h1></html>";
}
@POST
@Produces("text/HTML")
@Consumes("text/plain")
public String postText(String content)
{
return "<html lang=\"en\"><body><h1>POST RESPONSE: " + content + "</body></h1></html>";
}
Как видите, это действительно просто.
Проблема возникла, когда я попытался сделать вызовы AJAX в Javascript для этих веб-сервисов.Как вызовы POST, так и GET терпят неудачу последовательно, без полезной информации об ошибках.Я проверяю результаты ответа в Firefox-плагине Firebug, хотя коды ответов показывают 200 ok, хотя Firebug ничего не показывает на панели HTML, что может указывать на проблему.Вот Javascript:
$.ajax({
type: "POST",
url: "http://localhost:8080/TestEngine/API/",
data: "string",
dataType: "html",
success: function(data, textStatus, jqXHR) {
alert("success");
},
error: function(jqXHR, textStatus, errorThrown) {
alert("error:" + errorThrown );
},
contentType: "text/plain"
});
Я пробовал различные модификации и исключения данных, dataType, contentType и т. Д., Но они всегда заканчивали тем, что вызывали обратный вызов ошибки.Я также пытался изменить возвращаемое значение функций GET и POST, в том числе пытался использовать JAX-RS Responsebuilder (хотя я не знаком с его использованием, поэтому, возможно, сделал это неправильно).Я все еще в конечном итоге в обратном вызове ошибки, без видимой полезной информации в аргументах ошибки (большинство вещей просто возвращается как неопределенное или пустое).
В этот момент я действительно буду признателен за некоторые советы относительно того, чтоЯ делаю неправильно.Спасибо!