Javascript 正在传递/输入导致异常的URL字符串

Javascript 正在传递/输入导致异常的URL字符串,javascript,html,angularjs,Javascript,Html,Angularjs,当我从下拉列表中选择的值中有一个/时,我遇到异常。当用户从下拉列表中选择Prod1/TOXS并单击submit按钮时,它正在调用myservice.fetchData,在那里它在构建URL时抛出异常 applnURL+'/prodData/'+ Prod1/TOXS + '/productDetails.form' 演示: html代码: <select ng-model="selectedProd" ng-options="x for x in prodNames">

当我从下拉列表中选择的值中有一个
/
时,我遇到异常。当用户从下拉列表中选择
Prod1/TOXS
并单击submit按钮时,它正在调用
myservice.fetchData
,在那里它在构建URL时抛出异常

applnURL+'/prodData/'+ Prod1/TOXS + '/productDetails.form'
演示:

html代码:

  <select ng-model="selectedProd" ng-options="x for x in prodNames">
   </select>

有没有办法在URL字符串中传递
'/'

如果
Prod1/TOXS
是字符串的值,则必须将其放入
中,以防止JavaScript将其解释为变量名称

此外,使用
encodeURIComponent()

var applnURL=“”;

log(applnURL++'/prodData/'+encodeURIComponent(“Prod1/TOXS”)++'/productDetails.form')只是为了学究(毕竟我们在互联网上)“/”是一个正斜杠,而不是反斜杠。使用encodeURIComponent()函数对附加值进行编码应该可以解决您的问题。您所描述的没有意义,
$scope.selectedProd
包含一个字符串,应该可以正常工作。请提供实际生成您描述的错误的工作代码段。
 angular.module('checkboxExample', [])
    .controller('ExampleController', ['$scope', function($scope) { 
      $scope.prodNames = ['Prod1/TOXS', 'Prod2/XYA', 'BLACK','prod3as','Prod23sd/88X'];
      $scope.submitForm = function(){
        alert("submi form" + $scope.selectedProd);
        //service call
        /*  MyService.fetchData($scope.selectedProd){
          //logic
        }*/
      }
  }]);

  //service call
           /*     myservice.fetchData = function(selectedValue){
                    var deferred = $q.defer();
                    var randomh=Math.random();
                    var urlStr = applnURL+'/prodData/'+ selectedValue + '/productDetails.form?';
                    $http.get(repUrl)
                        .then(...
                        ...*/