2016-09-19 15 views
-1

にPHPファイルを実行します。私はこのPHPファイル持っAJAX

<? 

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ファイルでエコーだけを実行する(システムを削除する)場合でも。どうすればそれを解決できますか?クロームインスペクタを使用して

は、ネットワークタブの下で、私はこのエラーを取得:

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

どうすれば私のindex.htmlとphpスクリプトをlocalhost上のapacheで実行できますか? – slash89mf

+0

多くのチュートリアルがあります。ちょうどそれをGoogle。 –

答えて

0

file:///Users/Antonio/Desktop/script/action.phpを参照して、ローカルファイルシステムからHTMLファイルを直接実行していることを前提としています。

この場合、セキュリティ上の理由から、ブラウザはローカルファイルへのアクセスを許可しません。
このようにしても、PHPファイルは実行されません。

これら2つの問題を解決するには、PHPファイルを実行し、HTTPプロトコルでアクセスする独自のローカルHTTPサーバーを実行する必要があります。

関連する問題