用Ajax执行php文件

时间:2014-06-25 09:53:58

标签: javascript php jquery ajax forms

当我点击"立即注册"按钮,我想执行' input.php'其中我有代码将我的数据插入数据库并显示成功消息。我不想离开当前页面。

<input type="button" id="confirm" value="Register Now" class="button">

<script type="text/javascript">
$(document).ready(function() {
  $("#confirm").click(function() {
    <?php
    include 'input.php';
    ?>
    alert ("data Added successfully.");
  });
});
</script>

我的代码正在给我&#34;数据已成功添加&#34;消息但PHP文件尚未执行,并且没有数据添加到数据库。所有必要的数据都在会话变量中。

6 个答案:

答案 0 :(得分:3)

建议您尝试类似下面的内容。你不应该试图在jQuery脚本中执行PHP。执行AJAX调用并传递数据并在PHP中处理它,而不是依赖于会话变量。例如:

<script type="text/javascript">
    $(document).ready(function () {
        $("#confirm").click(function () {
            $.ajax({
                    type: "POST",
                    url: "index.php",
                    data: {
                        firstname: "Bob",
                        lastname: "Jones"
                    }
                })
                .done(function (msg) {
                    alert("Data Saved: " + msg);
                });
        });
    });
</script>

其中firstname,lastname将是您的正常会话数据。

您可以在jQuery API Documentation中了解有关jQuery.ajax()函数的更多信息。

答案 1 :(得分:1)

要从javascript执行Php脚本,您必须使用Ajax。

以下代码:

$("#confirm").click(function() {
    <?php
    include 'input.php';
    ?>
    alert ("data Added successfully.");
  });

不起作用

http://api.jquery.com/jquery.ajax/

答案 2 :(得分:1)

您需要使用AJAX。 Ajax是从页面内部通过javascript调用php文件的概念。然后,您可以在变量中获取php页面输出,您可以选择是否显示它。这项技术的一个例子是显示Facebook的更多帖子。这可以通过jQuery轻松完成。

$.post( PHP_FILE, { field1: 'value', field2: 'value'}).done(function( data ) 
{alert("this function will be run when the request is over and the variable data 
will have the output : " + data);});

答案 3 :(得分:0)

你可以通过ajax post方法做到这一点..

 $.ready(function(){
 $("#confirm").click(function() {
 $.ajax({
 type: "POST",
 url: "give url to the input.php file ",
 data:,
 success:function(data)
 {
  alert('data');// data is the return value from input.php
  }
  });
  });

});

答案 4 :(得分:-1)

试试这个:

<input type="button" id="confirm" value="Register Now" class="button">    
<script type="text/javascript">
$(document).ready(function() {
  $("#confirm").click(function() {
    $.get('input.php').
    success(function(){
       alert ("data Added successfully.");
    });
  });
});
</script>

答案 5 :(得分:-1)

我不太确定你在那里做过什么。无论如何,这里有一段应该为你做的js(我在新的jQuery版本中非常确定那里有更好的方法):

$.ajax({ 
    url: "input.php",
    success: 
        function(data)
        {
            // here, for example, you load the data received from input.php into
            // an html element with id #content and show an alert message
            $("#content").html(data);
            alert("Success")
        }
});