2015-07-19 2 views
0

Я звоню веб-сервис, который вставляет некоторые данные в базе данных, используя спящий режим, я просто положить кнопку в HTML-страницувеб-сервис принимает параметры нельзя назвать

<button type="button" onclick="testMe()">Click Me!</button> 

где TestMe (метод) это метод, который вызывает базу данных. Вот функция:

function testMe() { 
       $.ajax({ 
        url: "http://localhost:8084/RESTfulExample/rest/message/insertdb", 
        type: "post" 
       }); 

      } 

и здесь является веб-сервис, который вставляет данные в Databse

@POST 
@Path("/insertdb") 
public void printDB() { 
     DB db = new DB(); 
     db.insert(); 
     System.out.println("Done!!!"); 

} 

до сих пор все в порядке, и данные веб-службы вставки в базу данных успешно, но что если я хочу, чтобы вызвать веб-сервис, с параметрами, как этот

@POST 
@Path("/insertdb") 
public void printDB(String u) { 
    System.out.println("inside web service"); 
} 

и наверняка модифицированиями страницы HTML, как этот

function testMe() { 
      var params = {"firstName": "test", "lastName": "test2"}; 
      var jsonData = JSON.stringify(params); 
       $.ajax({ 
        url: "http://localhost:8084/RESTfulExample/rest/message/insertdb", 
        type: "post", 
        dataType: "json", 
        data: jsonData 
       }); 

      } 

Когда я пробовал это и называл веб-службу, строка, которая должна быть напечатана в функции printDB, не печатается. В чем проблема с моим кодом при вызове веб-службы, которая принимает параметры?

ответ

0

я могу видеть в вашем WebService printDB(), что вы устанавливаете @GET метод HTTP: -

@GET 
@Path("/insertdb") 
public void printDB(String u) { 
    System.out.println("inside web service"); 
} 

Но в вашем $.ajax позвонить вы отправляете type: "post", так что вы можете сделать, это попытаться в вашем веб-сервиса printDB(), изменения от @GET до @POST.

+0

Я изменил его, чтобы опубликовать аннотированный и отредактированный пост, но проблема все еще существует. –

+0

@ Engy.Mostafa, какую ошибку вы получаете при отправке вызова ajax? –

+0

Не отображается ошибка –

0

Я думаю, что проблема заключается в том, что на стороне сервера вы аннотируете свои методы с помощью @GET, где вы делаете вызов Ajax с использованием метода POST. Разница в том, что с POST данные отправляются внутри тела запроса, а не как параметры URL.

Так что рассмотрите возможность изменения/внедрения аннотированного метода @POST.

+0

Я изменил ее, чтобы опубликовать аннотированный и отредактированный пост, но проблема все еще существует. –

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