2013-12-21 3 views
0

Я пытаюсь кодировать мой uri с помощью функции encodeURIComponent. Вот мой код.JQuery 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, но когда страница перенаправляет он показывает ошибку как

Запрошенный URL /Quotation/new_quotation.php?clientid=10 & quoteid = 0000000014 не был найден на этом сервер.

Я видел url. Похоже

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

Таким образом, Ури закодированы, но почему не страница перенаправляется? Нужно ли мне использовать любую другую функцию для перенаправления? Или есть ли какие-либо ошибки в моем коде?

+0

Там нет никаких оснований для кодирования всей вещи – epascarello

+0

@epascarello Что вы имеете в виду? –

+0

использовать 'encodeURIComponent (res [0] .CLIENT_ID)' и 'encodeURIComponent (id)' вместо кодирования всего URL-адреса –

ответ

0

Вы должны кодировать значения, а не весь URL.

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

Поскольку вы используете JQuery, вы можете также использовать param()

+0

вы можете сказать почему? –

+0

Потому что так оно и работает ... Он не вычисляет URL и не кодирует только части. Вам нужно это сделать. – epascarello

+0

О! 'encodeURIComponent' кодирует только параметры url? –

Смежные вопросы