2015-06-20 4 views
0

AJAX/JS noob здесь. У меня есть следующий код AJAX, который возвращает некоторые данные из службы php. Я пытаюсь выяснить, как назначить данные, возвращающиеся из службы php, на некоторую переменную JS, которую я позже хочу отобразить в пользовательском интерфейсе.Передача ответа ajax на переменную Javascript

Вот мой AJAX код:

<script type="text/javascript"> 
var data1; 
    $(function(){ 
     setInterval(function() { 
      $.get("get_location.php", function(data) { 
      console.log(data); 
      $('#data').html(data); 
      data1 = data; 
      }); 
     }, 500); 
    }); 
alert(data1); 
</script> 

И у меня есть переменная в другом случае сценария:

<script> 
    var some_var1; 
    var some_var2; 
</script> 

У меня есть два вопроса, которые я застрял на некоторое время:

  1. То, как мой PHP возвращает данные, является эхо, то есть я делаю это в PHP:

    echo $ var1; echo $ var2;

Это правильный способ передачи данных в AJAX, учитывая, что он мне нужен более структурированный?

  1. Предполагая, что я правильно # 1, как мне назначить «данные» из AJAX в some_var1/some_var2 в JS?
+1

1. Вы, вероятно, захотите изучить [JSON] (https://en.wikipedia.org/wiki/JSON). 2. Существует только один способ присвоить значение переменной: 'variable = value;'. Более сложная часть с асинхронным кодом - это когда вы можете * читать * переменную. –

+0

Что такое "ценность"? 'данные'? И где разместить этот код? У меня есть два отдельных сценария. – moshikafya

+1

'value' - это то, что вы хотите назначить. В вашем случае это будут «данные». Все сценарии выполняются в одной и той же глобальной области. Но опять же, установка переменных внутри обратного вызова Ajax не так полезна, поскольку вы не будете знать *, когда * переменные будут иметь новое значение. Посмотрите на http://stackoverflow.com/q/14220321/218196. –

ответ

0

Если я правильно понял ваш вопрос, и вы уже включили JQuery в свой html, вам нужно использовать переменные javascript.

если ваш console.log(data) фактически входа что-то на консоль, положить var ajaxData;, или что-то до вашей функции JQuery, и заменить его console.log(data)ajaxData = data;.

+0

Смотрите мое редактирование выше, это именно то, что я делаю. – moshikafya

+0

- проблема, которую вы не можете назвать данными в другом скрипте? –

+0

Да точно, хотя он обновляет div, который у меня есть каждые 0,5 секунды:

moshikafya

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