JQuery Ajax调用php没有执行

时间:2017-12-27 07:27:42

标签: php jquery html ajax

我正在创建一个带有按钮的基本网站,当点击该按钮时,会对一个回复某些内容的php脚本进行jquery Ajax调用。

我尝试过的事情:

我看过Call php function from JavaScript 确保我不只是犯了语法错误,但这没有帮助。

我已将我的jquery调用的dataType部分更改为scripthtmljsontext,但它刚刚结束在某些情况下整个代码(例如只是警告test.php而不执行它)并抛出错误:

  

XML解析错误:找不到根元素

     

位置:file:///Users/jonathansekela/Documents/Projects/sz12-library/php/test.php

     

第9行,第3列

json的情况下,错误:

  

错误:parsererror:SyntaxError:JSON.parse:JSON数据第1行第1列的意外字符

据我所知,每当我尝试通过简单的Ajax调用让jQuery执行某些PHP时,它就不会执行PHP,而是简单地将其视为纯xml并将整个事物作为字符串返回给我的功能没有做任何PHP。

最终目标:

按下时,html中的按钮将调用一个js函数,该函数对php脚本进行Ajax调用。 php脚本然后连接到一个mysql数据库,做一些东西,返回,一些其他东西,并将其他东西返回到jQuery调用,以便它可以将一些结果返回到html屏幕上。字面上基本的概念验证级别的东西,除了我的计算机不认为php实际上是php的那一部分。

我在这里缺少什么?任何和所有建议欢迎。如果需要,我会添加任何额外的信息。

的index.html:

<div class = "row">
    <div class="col-xs-12 btn btn-default button" onclick="test();">
        test ajax
    </div>
</div>

JS / index.js:

var test = () => {
    $("#button-text").html("test clicked");
    $.ajax({
        type: "POST",
        data: {
            user: 1,
            first: "jonny",
            last: "test"
        },
        url: "php/test.php",
        dataType: "html",
        success: function(result) {
            alert("success: "+result);
    },
    error: function(xhr, status, error) {
        alert("error: "+status + ': ' + error);
    }
    });
}

的PHP / test.php的:

<?php
function test() {
    $user = $_POST['user'];
    $first = $_POST['first'];
    $last = $_POST['last'];
    echo "your data: ".$user." + ".$first." + ".$last;
}
test();
?>

1 个答案:

答案 0 :(得分:0)

答案,正如惊人的Kakurala所解释的那样:我需要将我的代码放在运行LAMP / XAMP堆栈的服务器上才能调用PHP。因此,要么在我的笔记本电脑上设置LAMP堆栈用于开发目的,要么获得云服务器并在那里进行设置(例如AWS EC2 instance)。非常感谢你的帮助,朋友!