Прямо сейчас я использую ниже сценарий для нажатия кнопки, который открывается в новом окне
<script>function myFunction() { window.open("ouput.php"); } </script>
Но мне нужно, когда пользователь нажимает кнопку, результаты из output.php
должны быть добавлены в том же окне внизу. Как выполнить PHP-файл с помощью Ajax? Я использую этот код с jQuery, но результата нет:
$.get( "out.php", function( data ) { document.write(data.Molecule); $( "output" ).html("Molecule: "+data.Molecule ); alert( "Load was performed." ); }, "json" ); }); });
Как запустить внешний PHP-файл, получить результаты и отобразить его на одной и той же веб-странице?
AJAX-вызовы являются регулярными запросами, поэтому любой файл PHP автоматически выполняется.
$("output")
выберет все теги <output>
. Я подозреваю, что вы имели в виду объект с ID = output (который находится в нижней части страницы)
Вот исправленный js:
$.get( "out.php", function( data ) { // replace content of #output with the response $( "#output" ).html( "Molecule: " + data.Molecule ); // append the response to #output //$( "#output" ).append( "Molecule: " + data.Molecule ); alert( "Load was performed." ); }, "json" );
Если ответ недействителен JSON, это вызовет ошибку (и не вызовет alert
). Если это так, вы можете предупредить и проверить ответ следующим образом:
$.get( "out.php", function( data ) { alert( data ); });
Это не ожидает JSON и поэтому не выдает ошибку, если она недействительна.