2016-09-19 60 views
-1

我有這個PHP文件:執行PHP文件中阿賈克斯

<? 

function bb(){ 
system('python my_script.py'); 
echo "done"; 
} 

bb(); 
?> 

我想執行此,使用AJAX。我做這種方式:

<script type = "text/javascript"> 
function myAjax() { 
$.ajax({ type : 'POST', 
      data : { }, 
      url : 'action.php',    // <=== CALL THE PHP FUNCTION HERE. 
      success: function (data) { 
      alert(data);    // <=== VALUE RETURNED FROM FUNCTION. 
      }, 
      error: function (xhr) { 
      alert("error"); 
      } 
     }); 
} 
    </script> 

一個按鈕被按下時,該規則執行:

<button type="button" class="btn btn-outline-danger" onclick="myAjax()">Primary</button> 

的問題是,我總是得到錯誤的情況。即使我的PHP文件應該只執行回聲(即刪除系統)。我該如何解決這個問題?

使用Chrome檢查,網絡標籤下,我得到這個錯誤:

jquery.js:4 XMLHttpRequest cannot load file:///Users/Antonio/Desktop/script/action.php.Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource. 

但使用此路徑的文件訪問。

+0

您需要一個執行PHP腳本的HTTP服務器。 –

+0

如何在本地主機上使用apache運行我的index.html和php腳本? – slash89mf

+0

這裏有很多教程。只是谷歌它。 –

回答

0

看到file:///Users/Antonio/Desktop/script/action.php,我假設你直接從本地文件系統運行你的HTML文件。

在這種情況下,出於安全原因,瀏覽器不允許訪問您的本地文件。
即使這樣做,PHP文件也不會被執行。

要解決這兩個問題,您需要運行您自己的本地HTTP服務器,它將執行您的PHP文件並通過HTTP協議訪問。