如何将参数绑定到URL

时间:2018-07-29 08:28:15

标签: javascript java ajax jsp url

这是我的jsp代码。我想在呼叫getproductsub()并发送Ajax请求时将 catid 参数绑定到url。

r.open("GET", "url?catid=" + catid,true);

以上行似乎是我的代码错误。如何解决。

<select class="form-control" id="pcategory" name="pcategory" onchange="getproductsub();">

<script>
  function getproductsub() {
    var catid = document.getElementById('pcategory').value;
    var url = window.location.href;
    var r = new XMLHttpRequest();
    r.onreadystatechange = function() {
      if (r.readyState === 4 && r.status === 200) {}
    };
    r.open("GET", "url?catid=" + catid, true);
    r.send();
  }
</script>

1 个答案:

答案 0 :(得分:1)

请注意,window.location.href给出了包括当前时间URL中参数在内的完整位置。因此?可能包含在其中。

您可以使用

var url = window.document.location.pathname;

然后将url连接到传递给open()的字符串。

r.open("GET", url + "?catid=" + catid, true);

OR

在使用jsp进行编码时,请使用getRequestURL()

r.open("GET", "<%= request.getRequestURL()%>?catid=" + catid, true);