Javascript 如何从URL参数中获取数据?

Javascript 如何从URL参数中获取数据?,javascript,jquery,Javascript,Jquery,我需要2个信息来进行AJAX调用 评估ID 学生室友 $.ajax({ 我想从URL参数中获取它们 http://localhost:8080/BIM//teacher/reports/section-练习/作业?评估ID=4d8d208e-8f71-4255-b54a-4c87a002314d&评估类型=作业和教室ID=722bfadb-9774-4d59-9a47-89ac9a7a8f9a&课程内容ID=fd51fe9b-62ed-48f9-a6d8-5635f24964d6 我需要在哪里

我需要2个信息来进行AJAX调用

  • 评估ID
  • 学生室友

    $.ajax({

  • 我想从URL参数中获取它们

    http://localhost:8080/BIM//teacher/reports/section-练习/作业?评估ID=4d8d208e-8f71-4255-b54a-4c87a002314d&评估类型=作业和教室ID=722bfadb-9774-4d59-9a47-89ac9a7a8f9a&课程内容ID=fd51fe9b-62ed-48f9-a6d8-5635f24964d6

    我需要在哪里使用


    如果您只想从URL获取该参数,您可以使用以下函数对URL进行简单解析:

    function parseUrl(url) {
      var urlParamSplit = url.split("?");
    
      if(urlParamSplit.length !== 2) return "InvalidUrlNoParamsSet";
    
      var paramsList = urlParamSplit[1].split("&");
      if(paramsList.length < 1) return "InvalidUrlNoParamsFound";
    
      var paramsObj = {};
      paramsList.forEach(function(item){
        var keyValueArray = item.split("=");
        paramsObj[keyValueArray[0]] = keyValueArray[1];
      });
    
      return paramsObj;
    }
    
    您可以通过
    location.href
    获取网站的当前URL。因此,您可以调用
    var params=parseUrl(location.href);
    来解析当前URL参数


    您不需要添加隐藏的输入字段。

    请查看此库,谢谢。它很有效。您救了我的命。此外,您的函数还有一个很好的示例。
    function parseUrl(url) {
      var urlParamSplit = url.split("?");
    
      if(urlParamSplit.length !== 2) return "InvalidUrlNoParamsSet";
    
      var paramsList = urlParamSplit[1].split("&");
      if(paramsList.length < 1) return "InvalidUrlNoParamsFound";
    
      var paramsObj = {};
      paramsList.forEach(function(item){
        var keyValueArray = item.split("=");
        paramsObj[keyValueArray[0]] = keyValueArray[1];
      });
    
      return paramsObj;
    }
    
    var params = parseUrl("http://localhost:8080/BIM//teacher/reports/section-exercise/assignment?assessmentId=4d8d208e-8f71-4255-b54a-4c87a002314d&assessmentType=HOMEWORK&classroomId=722bfadb-9774-4d59-9a47-89ac9a7a8f9a&courseContentId=fd51fe9b-62ed-48f9-a6d8-5635f24964d6");
    // your ajax call could look like this:
    $.ajax({
      url: "/BIM/rest/report/assignment",
      type: "POST",
      dataType: "json",
      data: {
          assessmentId: params.assessmentId,
          classroomId: params.classroomId
      }, 
      // ... further settings and callbacks ...
    });