我在 2 个不同的文件中有 2 个 Ajax-Functions。一个如果此函数将发送数据,而另一个则不会。
在这种情况下,我需要如何编写 PHP-IF?
无数据 Ajax:
$.ajax("../PHP/DBConnection.php")
.done(
function(response) {
var array = JSON.parse(response);});
我也不确定我是否真的在这个 Ajax 中发送数据。
var formData = "value= "+value;
$.ajax("../PHP/DBConnection.php", data = formData).done(
function(response) {
alert(response);
})
我会像这样编写PHP代码:
$var = $_POST['value'];
if (empty($var)) {
echo 'there is no Data';
}
if (isset($var)) {
echo 'there is a Data';
}
编辑:泰。我仍然收到以下错误消息:响应 = "
↵注意:未定义的索引:C:''xampp''htdocs''IPA_Webshop''PHP''DBConnection.php 中的值,在第 64 行
第 64 行为:$var = $_POST['value'];
编辑2:我写了这个代码:
if (empty($_POST['value'])) {
echo 'there is no Data';
}
if (isset($_POST['value'])) {
echo 'there is a Data';
}
这行得通。但它总是进入空的。即使我用数据启动 Ajay-Methoe。
我认为有你的问题:
- 您没有发送数据:
$.ajax("../PHP/DBConnection.php", data = formData).done(
-----------------------------------^
更改为:
$.ajax("../PHP/DBConnection.php", data: formData).done(
- 这是因为它总是输入
empty()
php函数。通过第一次更改,您将收到 PHP 格式的数据。但是如果你写if...else
会更好,因为你可能会在返回两个if时遇到问题。如果您发送空数据怎么办?变量已设置,但也是空的。我认为最好的方法是这样的:
if (isset($_POST['value'] || !empty($_POST['value'])) {
echo 'there is a Data';
} else {
echo 'there is no Data';
}
通过第二次更改,您不会遇到返回两个值的问题,并且可以避免您描述的此错误:
注意:未定义的索引:C:''xampp''htdocs''IPA_Webshop''PHP''DBConnection.php 第 64 行中的值