2014-10-16 3 views
0

Это то, что у меня есть:Как декодировать специальные символы в переменной JavaScript?

  url: "http://someurl.com/' + variable.id + '/page.html", 

Когда страница делает я получаю ошибку консоли, которая выглядит следующим образом:

http://someurl.com/'%20+%variable.id%20+%20'/page.html 

И что мешает определенный вызов API от происходящего. Что я могу сделать, чтобы убедиться, что он читается?

http://someurl.com/variable.id/page.html

Где variable.id на самом деле это значение не является переменной.

+3

Посмотрите на свои кавычки. Внутренние единичные вместо двойных кавычек. Если вы хотите объединить переменную 'variable.id' в строку, вам нужно завершить первую строку перед первым' + 'и затем инициализировать новую строку после второй' + '. –

ответ

1

У вас неверные совпадения, в результате чего ваш строковый синтаксис будет нарушен. Это приводит к тому, что одиночные кавычки, пробелы, знаки плюс и имя переменной должны быть в строке вместо того, чтобы оцениваться и выполняться как оператор JS.

Понадобится:

url: "http://someurl.com/" + variable.id + "/page.html", 

Обратите внимание на удаление одиночных кавычек до и после знаков плюс и вставки на их месте двойных кавычек, которые соответствуют те, которые вы использовали в начале и конце вашего собранные URL.

Строка должна начинаться и заканчиваться тем же типом кавычки. Не менее действительным будет:

url: 'http://someurl.com/' + variable.id + '/page.html', 

или

url: "http://someurl.com/" + variable.id + '/page.html', 

или

url: 'http://someurl.com/' + variable.id + "/page.html", 

Поскольку каждая строка использует подобранный набор кавычек, независимо от того, какого типа вы используете.

+1

Спасибо @Jaaulde! – KPO

1

вы имели в виду (обратите внимание на двойные кавычки) ?:

url: "http://someurl.com/" + variable.id + "/page.html" 
0

Привет вы ошибаетесь на sintaxis.

вы можете использовать:

var url = "http://someurl.com/"; 
url += variable.id + "page.html"; 
document.location.href = url; 

удачи !!

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