2013-10-11 2 views
3

Мне нужно получить переменную из удаленного php-файла с помощью javascript. Я делаю это с помощью phonegap, поэтому такая же политика происхождения не применяется. Я думаю, мне нужно использовать json/ajax, но я не могу найти никаких учебных пособий, которые показывают мне, как это сделать.Используйте Javascript для получения переменной из удаленного php-файла?

Это так просто, как это в файле PHP:

<?php 
    $var = 'stuff'; 
    echo json_encode($var); 
?> 

И что-то вроде этого в моем приложении:

$.getJSON('mysite.com/test.php', function(data) { 
          $.each(data, function(i, entry) { 
           alert(entry); 
          }); 

Или это совершенно неправильный подход? Спасибо, спасибо.

+2

Google? это хороший: http://www.jquery4u.com/json/ajaxjquery-getjson-simple/ – oori

ответ

2

so для начала here are the docs on JQuery's ajax & the docs for JQuery's getJSON; и, наконец, a slightly dated but decent tutorial, объясняющие основы того, как начать работу с необработанными файлами .JSON.

Обычно, когда я имею дело с JSON, я взаимодействую с веб-API; и большую часть времени они RESTful api на этом ... создание одного немного сложнее, чем то, что у вас есть, но ваш мыслительный процесс идет по пути.

здесь рабочая точка доступа к финансам акции Google котировки апи выполнения запроса на Microsoft:

http://finance.google.com/finance/info?client=ig&q=MSFT

и пример JSon вызова (с использованием JSONP для доступа к внешним URL):

$.ajax({ 
    url: 'http://finance.google.com/finance/info?client=ig&q=MSFT', 
    dataType: 'jsonp', 
    success: function(data){ 
    console.log(data); 
    } 
}); 

, чтобы сделать вещи проще я бы попытаться разбить работу на два этапа ... сначала получить ручку на прием данных от API вы знаете, работает (т.е. Google Finance выше) ..., а затем двигаться дальше на следующий шаг чтобы написать свой собственный WebAPI в php (например, вы хотите создать свою «переменную» в базе данных или что-то более полезное, чем плоский php-файл). Таким образом, вы можете отлаживать немного легче с потерей волос меньше

+0

спасибо за ссылки, мне легче всего учиться на хороших примерах – mao

2

Я использую JQuery и я имел обыкновение делать, как это в моем PHP (если используется JSON):

<?php 
$var = 'stuff'; 
echo '{"var":"'.$var.'"}'; 
?> 

было бы вернуться к JSON.

и Аякс:

$.ajax({ 
url : "mysite.com/test.php", 
dataType : "json", 
data :"", 
type : "POST", 
success : 
function (data){ 
alert(data.var); 
} 
}); 

(данные и тип в Аяксе не нужны, если вы просто хотите получить от JSON «mysite.com/test.php»);

+0

спасибо, нужно ли распечатывать на страницу, если к ней напрямую обращаются в браузере? – mao

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