无法从$ .post()调用php脚本

时间:2016-01-06 15:12:08

标签: php jquery

我需要从html调用php脚本 - 比如localhost中的index.html。我正在尝试jquery的$ .post(),它失败了,我无法调试问题。任何机构的帮助?

作为演示,我想打电话给info.php,即

<?php phpinfo(); ?>

我尝试通过以下代码调用info.php

$('#submit').on('click', function(){
alert('Submitting data');
$.post('./info.php');
});

我从上面的功能中得到警报,但其余部分保持沉默。

info.php和index.html都位于localhost的根目录中。

3 个答案:

答案 0 :(得分:0)

您可以使用post功能,但在发布完成后不应用任何回调来执行操作。尝试成功回调函数:

$.post('./info.php', function(data) {
    console.log(data);
    // do whatever you want here
} );

请参阅文档:

  

http://api.jquery.com/jquery.post/

您还应该考虑使用jquery的ajax函数。您可以参数请求类型句柄成功,错误,完成等。

  

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

答案 1 :(得分:0)

简单地调用.post()并不会在浏览器中执行任何操作。如果你想要发生某些事情,那么你必须告诉浏览器做你想做的任何事情。

例如,您可以将返回的数据输出到Javascript控制台:

$.post('./info.php').done(function (data) {
    console.log(data);
});

要查看控制台输出命中 F12 。转到“控制台”标签。

答案 2 :(得分:0)

如果您只想在当前页面(index.html)中加载响应,则可以使用load()方法:

让我们在页面index.html中说明您有以下div

<div id="phpinfo"></div>

然后,以下代码应将info.php的响应加载到div

$(function() {
    $('#phpinfo').load('info.php');
});

现在,要使用post()方法加载响应,您必须使用以下内容:

$(function() {
    $.post('info.php', function( data ) {
        $('#phpinfo').html( data );
    });
});