使用Ajax请求执行PHP文件

时间:2015-04-28 11:38:05

标签: javascript php jquery ajax

仍然抓住Ajax,所以我请耐心等待。我试图在javascript的帮助下使用ajax调用从javascript中运行一个php文件。我不需要GET / POST任何数据,我只是想要执行PHP代码并将消息'hello world'记录到控制台(我打算在带有onclick()函数的按钮中使用它)。唯一记录的是“成功”消息。我希望PHP代码在不离开当前页面的情况下执行,但我想我可能会错过AJAX的工作原理。或者也许有更好的方法来实现这一目标。谢谢你的帮忙。

PS:通过使用Safari的Web开发人员工具,我可以看到资源“ajax.php”正在作为XHR加载。

调用ajax.php的索引文件的内容是:

<script>
$.ajax({
  url : 'action/ajax.php',
  type : 'POST',
  success : function (result) {
    console.log ('success');
  },
  error : function () {
    console.log ('error');
  }
});
</script>

ajax.php的内容是:

<?php
echo '<script>console.log("hello world");</script>';
?>

3 个答案:

答案 0 :(得分:5)

感谢您主动学习PHP,jQuery和AJAX。

只需进行一些修改,您就可以了:

Javascript(jQuery):

<script>
   $.ajax({

     url : 'action/ajax.php',
     type : 'POST',
     success : function (result) {
        console.log (result); // Here, you need to use response by PHP file.
     },
     error : function () {
        console.log ('error');
     }

   });
</script>

ajax.php的内容是:

<?php
    //echo '<script>console.log("hello world");</script>';
    // Change above line to:
    echo "hello world";
?>

答案 1 :(得分:1)

您的数据存储在回调函数

<script>
 $.ajax({
  url : 'action/ajax.php',
type : 'POST',
 success : function (result) {
 //this is where you need to call your data which is result and not success
 console.log (result);
 },
error : function () {
 console.log ('error');
 }
 });
</script>

答案 2 :(得分:-1)

如果要运行

,则需要执行返回的javascript
success : function (result) {
    eval(result); //run the result code
    console.log ('success');
},

ajax.php的内容现在是:

<?php
   echo 'console.log("hello world")';
?>

但是你没有script标签

就干净了