2013-08-26 6 views
0

У меня есть две страницы, с которыми я имею дело. Моя первая - это форма, которую мы будем называть mainform.php, которая содержит форму, в которой пользователи записывают результаты теста из проведенных ими тестов. Эти результаты испытаний подаются в базу данных после подачи формы. В mainform.php у меня есть вкладка ползунка для выпуска Jira, в которой пользователи могут регистрировать проблемы, с которыми они сталкиваются при выполнении тестов. Моя вторая страница (issueSubmit.php) - это страница, которая взаимодействует с API JIRA Rest API и отправляет информацию JIRA. Результат команды - это куча информации, включая номер проблемы JIRA.Передача переменной с одной страницы PHP на другую без обновления

Мой вопрос в том, что было бы лучшим способом отправить номер проблемы JIRA на первую страницу (чтобы он мог быть прикреплен к этим результатам тестирования). Имейте в виду, что mainform.php не обновляется, и пользователь не перемещается от него, пока не нажмет кнопку отправки формы. Я думал о AJAX, но из того, что я прочитал, я не уверен, что AJAX сам по себе достаточно. Любые предложения были бы замечательными.

+0

когда вы вернетесь на предыдущую страницу, на MainForm. php, не будете ли вы иметь последний контент? возвращение должно быть новым HTTP-запросом. –

+0

Прочтите [jQuery.post()] (http://api.jquery.com/jQuery.post/) и [jQuery.ajax()] (http://api.jquery.com/jQuery.ajax/) – Bora

+0

Поскольку пользователь переходит в файл issueSubmit.php, прежде чем они отправят форму на mainform.php, я просто открываю отдельное окно для issueSubmit.php. Причиной является то, что я не хочу, чтобы данные, которые они ввели, были потеряны, если они отправлены на другую страницу перед отправкой формы. –

ответ

1

Have issueSubmit.php возвращает данные, полученные вами из вашего вызова API. Вы можете использовать JSON, чтобы сделать это довольно легко:

$results = $example->myApiCall(); 
echo json_encode($results); 

Затем в mainform.php, ваш вызов Ajax может выглядеть примерно так:

$.ajax({ 
     method: "post", 
     url: 'issueSubmit.php', 
     data: {myVar: customViariable}, 
     success: function(data){ 
      var result = JSON.parse(data); 
      console.log(result); 
      //Check the dev console in your browser 
      //Do something with returned data 
     } 
}); 
+0

Хорошо, похоже, что это отличное решение. Однако, у меня есть вопрос. Насколько я не знаком с ajax, что представляет собой «data: {myVar: customVariable}»? –

+0

Это данные, которые вы отправляете через Ajax. В этом случае переменная POST $ _POST ['myVar'] будет отправлена ​​в issueSubmit.php, и она будет иметь любое значение в переменной JavaScript customVariable. –

0

Проблема с страницейSubmit.php может быть вызвана с помощью самого ajax, при вызове его номер проблемы JIRA будет возвращаться по очереди в качестве ответа без обновления формы. Теперь возвращаемый ответ можно использовать для отображения.

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