2015-10-15 5 views
1

У меня есть одна утилита в php и вы хотите, чтобы ее исполняли при нажатии кнопки в javascript.Как выполнить команду системы в java-скрипте?

Кнопка в HTML:

<button id ="back">Zoom-Out</button></td> 

JS код:

$("#back").click(function() { 

       exec ("php recordgenerator.php 0"); /*generate sample.json */    
       $.getJSON('sample.json', function(data) { 
         options.series = data; 
         chart = new Highcharts.Chart(options); 
       }); 
     }); 

Но Exec не работает в JavaScript. Как я могу выполнить php scirpt для обновления диаграммы?

ответ

2

Вы можете прочитать об использовании JQuery для выполнения AJAX звонки здесь: https://api.jquery.com/jquery.get/

Так, например, вы могли бы написать что-то похожее на это:

$("#back").click(function() { 
    $.get("/path/to/recordgenerator.php?recordID=0", function(data) { 
     $(".result").html(data); 
     alert("Load was performed."); 
    }); 
}); 

Конечно, вы должны работать под управлением HTTP-сервер, на котором размещен ваш PHP-код. Но я предполагаю, что у вас это есть.

+1

, но моя функция не возвращает ничего, кроме записи на сервере одного файла sample.json. Как я могу прочитать этот файл. – logicstar

+2

В вашем PHP-коде просто напечатайте строку JSON. Тогда ваша функция JavaScript получит ее как параметр данных. –

+1

Я только что проверил значение параметра не может быть найдено на другом конце (recordgenerator.php). Я использую $ _POST ["recordID"], но я ничего не получаю. – logicstar

3

В браузере JavaScript не может выполнять произвольные программы в системе посетителя. Это была бы ужасная дыра в безопасности.

Вы можете использовать the XMLHttpRequest object, чтобы сделать HTTP-запрос на сервер, а затем выполнить программу на стороне сервера, что бы вы этого не сделали.

+1

Я новичок, некоторые из них могут подать здесь пример – logicstar

+1

Написание вводных учебников для любого из XMLHttpRequest или для программирования на стороне сервера будет слишком широким предметом для ответа stackoverflow. – Quentin

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