这是我在控制器中的功能:
event.preventDefault();
url=event.target.href;
var data=productionService.getUrl().get({
urlvalue:encodeURIComponent(url)
}, function(success){
window.open(success,'_blank');
}, function(error){
alert("error:"+JSON.stringify(error))
});
} else {
window.open(url,'_blank');
}
}
}
在工厂内:
getUrl:function(){
return $resource("requesturl?id=:urlvalue");
}
点击网址时出现404错误,网址为http%25...
而不是http://
我该怎么做才能解决这个错误。
答案 0 :(得分:-1)
因为您在http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp
中使用了encodeURIComponentvar uri = "http://w3schools.com/my test.asp?name=ståle&car=saab";
var res = encodeURIComponent(uri);
res的结果将是:
http%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab
你想要的是
getUrl:function(){
return $resource(encodeURIComponent("requesturl?id=:urlvalue"));
}