2015-10-15 99 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); 
       }); 
     }); 

但高管並不在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."); 
    }); 
}); 

當然,你必須運行承載您的PHP代碼的HTTP服務器。但我認爲你已經有了。

+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