gpt4 book ai didi

jquery 表单插件 json 无法正常工作

转载 作者:行者123 更新时间:2023-12-01 08:10:55 25 4
gpt4 key购买 nike

我正在使用 jquery 表单插件上传图像,一切进展顺利。我遇到的问题是当涉及到 php 脚本从服务器发送的 json 响应时。

//This is the way i output and encode the jason in my php script
$errors['success'] = false;
$errors['.imgContainer'] = 'Image exceeds maximum size.';
echo json_encode($errors);


//Json response copied from console in FireFox 14.0.1
{"success":false,".imgContainer":"Image exceeds maximum size."}


//Console response for:
console.log(xhr.responseText["success"]);
Undefined
//This should have been true right?

我使用的是jquery 1.8.0

//My Jquery
$('.imageForm').live('click', function(e) {
if (!isValid) {
e.preventDefault();
}
else {
var bar = $('.bar');
var percent = $('.percent');
var response = $('.imgHolder');
var status = $('#status');

$('form').ajaxForm({
contentType : "application/json; charset = utf-8",
dataType: "json",
type : "POST",
url : "imgHandle.php",
cache : false,


//target: "#status",

beforeSend: function() {
status.empty();
var percentVal = '0%';
bar.width(percentVal)
percent.html(percentVal);
$(".imgContainer :input").attr("disabled", true);
},
uploadProgress: function(event, position, total, percentComplete) {
var percentVal = percentComplete + '%';
bar.width(percentVal)
percent.html(percentVal);
},
complete: function(xhr) {

console.log(xhr.responseText["success"]);


}
});
}

});

为什么当我尝试访问 (xhr.responseText["success"]) 时出现未定义?我希望得到 true 或 false 以及 .imgContainer 的值

也许它没有将其解释为 json。我该如何解决这个问题?

最佳答案

您必须使用成功而不是完成。在 complete 中,您只能访问原始 JSON 字符串,并且必须先解析它,然后才能将其作为对象访问。

成功中,参数将具有 JSON 对象(而不是字符串),因此您可以直接访问它。

success: function(data) {
console.log(data.success);
}

关于jquery 表单插件 json 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13742081/

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