找不到JQuery encodeURIComponent页面错误

时间:2013-12-21 05:02:09

标签: javascript php jquery url encoding

我尝试使用uri函数对encodeURIComponent进行编码。这是我的代码。

//res[0].CLIENT_ID=10 and id=res[0].CLIENT_ID
var url = "new_quotation.php?clientid="+res[0].CLIENT_ID+"&quoteid="+id;
var encodedurl = encodeURIComponent(url);
$('#edit').attr("href", encodedurl);

它成功编码uri,但当页面重定向时,它显示错误为

  

在此服务器上找不到请求的网址/Quotation/new_quotation.php?clientid=10&quoteid=0000000014。

我看到了url。好像是

http://localhost/Quotation/new_quotation.php%3Fclientid%3D10%26quoteid%3D0000000014

所以,uri是编码的,但为什么不重定向页面?我是否需要使用任何其他功能进行重定向?或者我的代码中有错误吗?

2 个答案:

答案 0 :(得分:0)

您应该只编码值,而不是整个网址。

var url = "new_quotation.php?clientid="+encodeURIComponent(res[0].CLIENT_ID)+"&quoteid="+encodeURIComponent(id);
$('#edit').attr("href", url);

由于您使用的是jQuery,因此您也可以使用param()

答案 1 :(得分:0)

URL中的每个参数都必须应用encodeURIComponent(如果参数包含特殊字符)

示例:

var enc =param1+'/'+encodeURIComponent(param2)+'/'+encodeURIComponent(param3);

param2,param3-此处应该有特殊字符