托马斯一直在帮助我解决这个问题,我认为我们取得了一些实际进展。这是修改后的代码。这应该是首先,取我的查询字符串并将其传递到数据库中解析和插入数据的服务器。当类方法返回成功时,JQ函数应该使用来自服务器的消息回显100%css样式的div(id = message)。它也可以返回失败消息。这条消息是导入的?与json。我可以在FF控制台中看到该消息,但我在浏览器中看不到该消息。
我遇到的另一个问题是页面上的每个div都附加了id =消息。
编辑:
$.ajax({
type: "POST",
url: "body.php?action=admCust",
data: dataString,
success: function(data){
$('#admCust input[type=text]').val('');
var div = $('<div>').attr('id', 'message').html(data.message);
if(data.success == 0) {
$(div).addClass('error');
} else {
$(div).addClass('success');
}
$('body').append(div);
$(div).show();
}
});
return false;
答案 0 :(得分:0)
尝试使用此代码(因为它最后有return false;
我假设这是在提交函数或其他内容中,而dataString
正在从其他地方填充....):
$.ajax({
type: "POST",
url: "body.php?action=admCust",
data: dataString,
dataType: 'json',
success: function(data){
$('#admCust input[type=text]').val('');
var div = $('<div>').attr('id', 'message').html(data.message);
if(data.success == 0) {
$(div).addClass('error');
} else {
$(div).addClass('success');
}
$('body').append(div);
}
});
return false;
你最大的错误是你忘了指定dataType
(我在我的例子中有...)所以jQuery不知道服务器将返回什么格式。它只是假设它是一个字符串而不是JSON对象,因此您的data
变量未正确填充。您也不需要show()
因为附加就足够了。
我测试了上面的内容并且它有效,假设再次在其他地方填充dataString
并且body.php返回一个带有消息和成功代码的有效JSON字符串。
答案 1 :(得分:-1)
不确定这是否是你所追求的,但是当我理解你的问题时,请执行以下操作:
$(function() {
$('.error').hide();
$(".admCustBtn").click(function() {
$('.error').hide();
var admCustRPSecPhone = $("input#admCustRPSecPhone").val();
var dataString = '&admCustRptSumm='+ admCustRptSumm + '&admCustRptDtl='+ admCustRptDtl;
$.ajax({
type: "POST",
url: "index.php",
data: dataString,
// add an input parameter named data
success: function(data){
$('#admCust input[type=text]').val('');
// remove the alert box
// alert( "Success! Data Saved");
// add the success handling code from the other method
var div = $('#message').attr('id', 'message').html(data.message);
if(data.success == 0) {
$(div).addClass('error');
} else {
$(div).addClass('success');
}
$(div).show();
}
});
return false;
});
});
编辑:将$div
重命名为div
,并将选择器从'div'
更改为'<div>'
。
EDIT2:修改了选择器(在html中添加了id="message"
!),在$()
变量周围添加了div
- 包装,并将.append()
行更改为.show()
命令。