2017-07-06 10 views
1

ドライバクラスの呼び出しに4つの項目の配列を追加しようとしています。これは(下見て)注釈付きドライバでワークス javascriptと一緒に配列を送信すると、java -restのDriverクラスに呼び出されます

request.open("GET","rest/ds/acceptInput?UserInput="+document.getElementById('text').value, async=true); 
request.send() 

私はドライバーにユーザー入力を送信するためにこれを使用し、 :私のJavaScriptコードは次のように動作します。

@Test 
@Path("acceptInput") 
@GET 
@Consumes("text/plain") 
@Produces(MediaType.APPLICATION_JSON) 
public String acceptInput(@QueryParam("UserInput") String input{ 
NOW

私は運転手に私の呼び出しと一緒に(JavaScriptでユーザーのチェックボックスによって達成)の配列を送信できるようにしたいと思います。私はいくつかの方法を試してみましたが、どのような私には理にかなっていることはこれですしました:

はJavaScriptのようなコード:

request.open("GET","rest/ds/acceptInput?UserInput="+document.getElementById('text').value + checked[0],checked[1],checked[2],checked[3], async=true); 
request.send() 

、ドライバはこのようにそれを受け入れる:

@Test 
    @Path("acceptInput") 
    @GET 
    @Consumes("text/plain") 
    @Produces(MediaType.APPLICATION_JSON) 
    public String acceptInput(@QueryParam("UserInput") String input, @QueryParam("po") boolean Po, @QueryParam("cl") boolean Cl, @QueryParam("ac") boolean Ac, @QueryParam("qu") boolean Qu) { 

しかし、今私は結果を返さないことになります。これがどうして起こるのでしょうか?

答えて

1
これにJavaScriptコードを変更し

request.open("GET","rest/ds/acceptInput?UserInput="+document.getElementById('text').value + "&po="+ checked[0]+"&cl="+checked[1]+"&ac="+checked[2]+"&qu="+checked[3], true); 

あなたがGETリクエストのチェックボックスの値に任意のパラメータ名を与えていませんでした。

また、async = trueの代わりに、パラメータをtrueとすべきですか?

+0

sigh。とても簡単。ありがとうございました。これは完全に機能しました。 (私はjavascriptでうまくない...私は私のwebserviceをテストするためにそれを使用する) –

+0

asyncについて真ではない= true対thats別の良い質問 –

+1

@ Jason yeah javascriptは私のお気に入りでもない強く型付けされている)、それはウェブ開発の必要性です –

関連する問題