我已经寻找了很多解决方案但没有成功。
我有一个 html表单;
<form id="objectsForm" method="POST">
<input type="submit" name="objectsButton" id="objectsButton">
</form>
这用于菜单按钮。
我使用 jquery 来阻止网站刷新;
$('#objectsForm').on('submit', function (e) {
e.preventDefault();
$.ajax({
type: 'post',
url: '/php/objects.php',
data: $('#objectsForm').serialize(),
success: function () {
alert('success');
}
});
});
在我的 php文件中,我尝试将文字回显到我网站的正文;
<?php
if (isset($_POST["objectsButton"])){
echo '<div id="success"><p>objects</p></div>';
} else {
echo '<div id="fail"><p>nope</p></div>';
}
?>
我知道我的php文件的路径是正确的,但它没有显示任何内容?甚至没有&#34;失败的div&#34;。 有没有人有我的解决方案?
提前致谢!
答案 0 :(得分:2)
成功函数有两个参数。第一个参数是从php文件返回的内容。尝试将其更改为:
成功:功能(xhr){alert(xhr);}
答案 1 :(得分:1)
PHP脚本在服务器上运行,这意味着您赢得的任何回声都不会出现在用户端。
而不是回显html只是回显json编码的成功/失败标志,例如0或1。
您将能够在您的成功函数中获得该值,并使用jQuery在网页上放置div。
PHP:
<?php
if (isset($_POST["objectsButton"])){
echo json_encode(1); // for success
} else {
echo json_encode(0); // for failure
}
?>
jQuery的:
var formData = $('#objectsForm').serializeArray();
formData.push({name:this.name, value:this.value });
$.ajax({
type: 'post',
url: '/php/objects.php',
dataType: 'json',
data: formData,
success: function (response) {
if (response == 1) {
alert('success');
} else {
alert('fail');
}
}
});
修改强>
要包含该按钮,请尝试使用以下内容(在$.ajax
阻止之前,参见上文):
formData.push({name:this.name, value:this.value });
另外,拥有按钮的value属性:
<input type="submit" name="objectsButton" value="objectsButton" id="objectsButton">
答案 2 :(得分:1)
基于你的php源..
$.ajax({
type: 'post',
dataType: "html", // Receive html content
url: '/php/objects.php',
data: $('#objectsForm').serialize(),
success: function (result) {
$('#divResult').html(result);
}
});