如何从客户端JavaScript运行服务器端函数



debug.html

<head>
<script src="debugBoot.js"></script>
</head>
<body onload="init()">
<button onclick="alert(dss.getParameters())">Get Params</button>
</body>

debugboot.js

var dss = {};
var INVALID_PARAM = -1;
function init() {
dss.getParameters = function(){
    var rest=new XMLHttpRequest();
    rest.open("GET", "http://localhost:8080/MW-war/rest/mw/enumerateParams", false);
    var data=rest.responseText;
    var jsonResponse = JSON.parse(data);   //line 11
    console.log(jsonResponse["Data"]);
    rest.send(jsonResponse);
    return JSON.parse(data);
};

}

mwrest(接口)

@GET
@Path("/enumerateParams")
@Produces(MediaType.APPLICATION_JSON)
public String[][] enumerateParams();

myjavaclass

    @Override
    public String[][] enumerateParams() {
    // TODO Auto-generated method stub
    return new String[][] { { "" + PATIENT_ID, "PATIENT_ID" }, { "" + AGE, "AGE" },
            { "" + BLOOD_PRESSURE, "BLOOD_PRESSURE" }, { "" + GENDER, "GENDER" },
            { "" + SMOKING_HABITS, "SMOKING_HABITS" }, { "" + DIET_FRUITS_VEGGIES, "DIET_FRUITS_VEGGIES" },
            { "" + CHOLESTEROL, "CHOLESTEROL" }, { "" + ALCOHOL, "ALCOHOL" }, { "" + ACTIVITY, "ACTIVITY" },
            { "" + QUIT_SMOKING, "QUIT_SMOKING" }, { "" + DIET_CEREAL_FIBRE, "DIET_CEREAL_FIBRE" } };
}

我需要能够从debugboot.js做这些事情按下按钮(在调试模式下Chrom F12)后,我跳入debugboot.js,然后使用F10进行线路,当我进入行

var data=rest.responseText;

数据是空...当我继续进入线

 var jsonResponse = JSON.parse(data);

有一个错误:

VM5402:1 Uncaught SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at Object.dss.getParameters (debugBoot.js:11)
at HTMLButtonElement.onclick (debug.html?scriptId=2:18)

我忘了说:一旦我连接此链接:

http://localhost:8080/mw-war/rest/mw/enumerateParams

我将其作为输出:

[["0","PATIENT_ID"],["1","AGE"],["2","BLOOD_PRESSURE"],["3","GENDER"],["4","SMOKING_HABITS"],["5","DIET_FRUITS_VEGGIES"],["6","CHOLESTEROL"],["7","ALCOHOL"],["8","ACTIVITY"],["9","QUIT_SMOKING"],["10","DIET_CEREAL_FIBRE"]]

我谷歌搜索了很多,发现了一些不太相似的问题,但没有什么比我的问题太相似了?

dss.getParameters = function(){
    var rest=new XMLHttpRequest();
    rest.open("GET", "http://localhost:8080/MW-war/rest/mw/enumerateParams", false);
    rest.send(null);
    if (rest.status === 200) {
      console.log(rest.responseText);
    }
    return JSON.parse(rest.responseText);
};

这有效... thx很多...现在我有一个类似的任务:)方法:)

按下按钮后,我会得到希望的结果

希望将来对某人有所帮助;)

最新更新