在ajax

时间:2016-09-19 15:54:05

标签: php jquery ajax

我有这个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文件应该只执行echo(即删除系统)。我该如何解决?

使用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.

但可以使用此路径访问该文件。

1 个答案:

答案 0 :(得分:0)

看到select(contact) { this.selectedId = contact.id; console.log(contact); return true; },我假设您直接从本地文件系统运行HTML文件。

在这种情况下,出于安全原因,浏览器不允许访问您的本地文件 即使这样,PHP文件也不会被执行。

要解决这两个问题,您需要运行自己的本地HTTP服务器,它将执行您的PHP文件并通过HTTP协议进行访问。