gpt4 book ai didi

javascript - jQuery AJAX - 根据结果进行分支

转载 作者:行者123 更新时间:2023-12-03 11:34:25 26 4
gpt4 key购买 nike

我使用 jQuery 设置进行了第一次 AJAX 调用,并且运行良好。我需要做的最后一个更改是检查为任何数据库错误而调用的 PHP 页面的结果,并在需要时显示错误。

这是我当前的 JavaScript:

<script type="text/javascript">
$(document).ready(function() {
$("#storeManager").change(function(){
var storeManager = $("#storeManager").val();
$.post('editProject.php', { type: 'storeManager', storeManager: storeManager, id: '1E1DDA14-D2C6-4FC8-BA5F-DBCCC7ABAF7F' }, function(data) {

if (data.error) {
$("#storeManagerRow").addClass("danger");
$("#ajaxAlert").addClass("alert alert-danger");
$("#ajaxAlert").addClass("danger").html(data.text);
} else {
$("#storeManagerRow").addClass("success");
$("#storeManagerRow").removeClass("danger");
$("#ajaxAlert").addClass("alert alert-success").html(data.text);
}

}).fail(function (xhr) {
// no data available in this context
$("#storeManagerRow").addClass("danger");
$("#ajaxAlert").addClass("alert alert-danger");
//display AJAX error details
$("#ajaxAlert").html(xhr.responseText);
});
});
});
</script>

我让 editProject.php 页面回显出如下所示的 json 编码数组:

{"error":"true","text":"Error: No Project ID Found (Missing Parameter)"}

错误以及以下成功结果:

{"error":"false","text":"Database Updated Successfully"}

目前,它永远不会分支到 if (data.error) 分支,它总是分支到 else 分支,并且它也不显示文本值。如果我改变:

$("#ajaxAlert").addClass("alert alert-success").html(data.text);

至:

$("#ajaxAlert").addClass("alert alert-success").html(data);

它确实将以下内容插入到 ajaxAlert div 中:

{"error":"true","text":"Error: Edit Record Error Unknown error (8003)"}

我是 jQuery 和 AJAX 的新手,并且正在解决问题 - 我觉得我已经非常接近了,但无法弄清楚为什么它没有针对错误进行分支以及为什么它没有显示其中任何一个的文本值editProject.php 脚本出现错误或成功结果?

最佳答案

问题是data.error的值...它应该是一个 bool 值...而不是一个字符串

所以不要在 PHP 中分配 'true' 而是分配 bool 值 true

关于javascript - jQuery AJAX - 根据结果进行分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26581878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com