使用API时,向服务器请求的参数无法正常工作。"占领=01%02"工作正常(直接在internet浏览器中更改url(,但当"占领=01%nC02"(,(或"占领=01&职业=02’。
向具有多个值的服务器请求时会发生此错误从复选框中选择。
问题出在哪里?这是编码问题吗?如果我错了,我会错在哪里?
我使用了html5客户端,从服务器接收10,并对其进行分页
在java:中
uri = new URIBuilder()
.setScheme("http")
.setHost("openapi.work.go.kr")
.setPath("/opi/opi/opia/wantedApi.do")
.setParameter("returnType", "xml")
.setParameter("startPage", requestVo.getStartPage())
.setParameter("callTp", "L")
.setParameter("region", "30200")
.setParameter("occupation", requestVo.getOccupation())
.setParameter("keyword", requestVo.getKeyword())
.setParameter("authKey", requestVo.getKey())
.build();
在jsp中:checkbox id为occuation_chbox,我将该值放入
<input type="hidden" name="startPage" value="1">
使用js
function jobsubmit(){
var form = document.getElementById("requestForm")
var occ = checkOcc();
$("#occupation").val(occ);
console.log($("#occupation").val());
form.submit();
}
function checkOcc(){
var chk_arr = [];
$("input[id='occupation_chbox']:checked").each(function(){
var chkBox = $(this).val();
chk_arr.push(chkBox);
})
console.log(chk_arr);
var occ="";
for(i = 0; i<chk_arr.length; i++){
occ += (i < chk_arr.length - 1) ? chk_arr[i] + "," : chk_arr[i]
}
console.log(occ);
return occ;
}
我通过将分隔符从","更改为"|"来解决这个问题。
occ += (i < chk_arr.length - 1) ? chk_arr[i] + "|" : chk_arr[i]