我正在创建一个带有按钮的基本网站,当点击该按钮时,会对一个回复某些内容的php脚本进行jquery Ajax调用。
我尝试过的事情:
我看过Call php function from JavaScript 确保我不只是犯了语法错误,但这没有帮助。
我已将我的jquery调用的dataType
部分更改为script
,html
,json
和text
,但它刚刚结束在某些情况下整个代码(例如只是警告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();
?>
答案 0 :(得分:0)
答案,正如惊人的Kakurala所解释的那样:我需要将我的代码放在运行LAMP / XAMP堆栈的服务器上才能调用PHP。因此,要么在我的笔记本电脑上设置LAMP堆栈用于开发目的,要么获得云服务器并在那里进行设置(例如AWS EC2 instance)。非常感谢你的帮助,朋友!