2016-06-26 2 views
1
var settings = { 
    "async": true, 
    "crossDomain": true, 
    "url": 'https://example.com/something.aspx?i='<? echo urlencode($_GET['id']); ?>, 
    "method": "GET", 
    "headers": { 
    "cache-control": "no-cache", 
    } 
} 

Это не работает так, конкатенация неверна, я думаю. Пробовал несколько способов все еще не работает.Конкатенация переменной php с помощью javascript

+0

'“. CrossDomain ":. Правда,' - Это почти наверняка не делать то, что вы думаете, это выглядит что вы действительно нуждаетесь в этом. – Quentin

+0

Если вы посмотрели, что получил браузер, наверняка было бы довольно ясно, что не так. –

+0

''https://example.com/something.aspx?i=' + ' –

ответ

5

Вам необходимо поместить данные внутри строковый литерал JavaScript. Переместите ' после дополнительных данных, которые вы выводите.

3

У вас была только одна цитата с неправильной стороны.

Не забывайте, что вы выводите на HTML, поэтому вам не нужно связывать переменную PHP с переменной JavaScript.

var settings = { 
    "async": true, 
    "crossDomain": true, 
    "url": 'https://example.com/something.aspx?i=<?php echo urlencode($_GET['id']); ?>', 
    "method": "GET", 
    "headers": { 
    "cache-control": "no-cache", 
    } 
} 
-1

Возможно, вы можете попробовать это наоборот. Как

<?php 
    echo 'var settings = { 
    "async": true, 
    "crossDomain": true, 
    "url": "https://example.com/something.aspx?i='.urlencode($_GET['id']).'", 
    "method": "GET", 
    "headers": { 
     "cache-control": "no-cache", 
    } 
    }'; 
?> 

Пожалуйста, обратите внимание на изменения, которые я сделал с "и„в url атрибут

+1

Вы все еще закрываете строку' ... .. 'здесь, так что это не сработает. –

+0

@ChrisEvans oh вы правы. Это – DBX12

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