2017-05-27 68 views
0

當我嘗試在Web服務中打印接收到的參數時。 該參數爲空。 如果我查看玻璃魚服務器的域服務器的日誌,我可以看到下面的 打印:如何使用XMLHttpRequest將參數從javascript傳遞到REST風格的Web服務

裏面的getJSON()
countryKey =

所以我理解請求arruved到Web服務,但是從JavaScript網址發送的參數 是空

// This is the code of the web service method 

@GET 
@Produces(MediaType.APPLICATION_JSON) 
public String getJson(String countryKey) { 
    System.out.println("Inside getJson()"); 
    System.out.println("countryKey = " + countryKey); 

    return "countryKey = " + countryKey; 
} 

// This is the javascript method 
function populateDistrictList() { 
    var element = document.getElementById("selectCountry"); 
    var selectedCountryKey = element.value; 
    var selectedCountry = element.options[element.selectedIndex].text; 
    var xmlHttp = new XMLHttpRequest(); 
    var url = "http://localhost:8080/MissionWS/webresources/generic?selectedCountryKey="+selectedCountryKey; 
    xmlHttp.open('GET', url, true); 
    xmlHttp.responseType = 'json'; 

    if (xmlHttp) { 
     xmlHttp.onreadystatechange = function() { 
      if (xmlHttp.readyState == 4) { 
       if (xmlHttp.status == 200) { 
        alert(xmlHttp.responseText); 
       } else { 
        alert("Something is wrong !"); 
       } 
      } 
     }; 
     xmlHttp.send(); 
    } 
} 

回答

0

請嘗試添加@QueryParam到您的方法簽名如下。

public String getJson(@QueryParam("selectedCountryKey") String countryKey) 
相關問題