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(...
...*/