var url = relativeURI+'/rest/PPS/Prod/'+encodeURIComponent(prod)+'/Section/'+encodeURIComponent(section);
$j.ajax({
url: url,
type: 'POST',
error: function(){
alert('Error');
},
success: function(){
alert('ItWorks');
}
});
}
在这个ajax调用中,如果我在参数prod或sec中有'/',则会出现错误。该请求甚至没有命中服务器。我在参数上使用encodeURIComponent。它适用于其中没有“/”的其他参数。请帮忙。
答案 0 :(得分:0)
我复制了你的逻辑,请求会转到服务器。但是,如果服务器不喜欢URL,那么甚至不会调用您的服务器端代码。 (在我的例子中,没有服务器端代码,但我可以看到404响应,并且可以看到服务器--Apache - 解码了URL)。
因此,您的服务器可能无法解码该URL。你确定你在尝试非jquery路线时编码了吗?您可能不需要encodeURIComponent
来电。如果删除它们会发生什么?
答案 1 :(得分:0)
我已经编码了参数并尝试了非jQuery路由,它工作正常(使用RESTEasy)。当我删除斜杠时,我得到404响应,这意味着没有带有该URI的REST方法。