继承人我的阿贾克斯:
$('#savecustomer').click(function() {
$.ajax({
type: "POST",
url: "ajax-newcustomer.php",
data: ({ name : $('#ncname').val(), address : $('#ncaddress').val(), postcode : $('#ncpostcode').val(), dob : $('#ncdob').val(), mobile : $('#ncmobile').val(), email : $('#ncemail').val() }),
dataType: "json",
success: function(data){
alert('sc success');
if (data == 'error')
{
$('#ncsuccess').attr('display', 'none');
$('#ncerror').attr('display', 'block');
}
else
{
$('#ncname').val('Name');
$('#ncaddress').val('Address');
$('#ncpostcode').val('Postcode');
$('#ncdob').val('Date of Birth');
$('#ncmobile').val('Mobile Number');
$('#ncemail').val('Email Address');
$('#ncerror').attr('display', 'none');
$('#ncsuccess').html(data);
$('#ncsuccess').attr('display', 'block');
}
}
});
});
它根本没有向我显示警报。这意味着它没有成功......我猜它与数据有关:格式。
答案 0 :(得分:2)
在没有()
的情况下,数据应该是一个对象文字 ...
data: {
name : $('#ncname').val(),
address : $('#ncaddress').val(),
postcode : $('#ncpostcode').val(),
dob : $('#ncdob').val(),
mobile : $('#ncmobile').val(),
email : $('#ncemail').val()
},
...
另外 - 我将以下列方式收集ajax调用之前的所有值:
var ncname = $('#ncname').val();
这将让您在firebug / chrome开发工具中以更方便的方式验证valuse 哦..几乎忘了 - 检查提琴手或其他工具,看看是否有人发送到服务器,看看是否拒绝了它
答案 1 :(得分:2)
我建议您使用error
方法的ajax
回调来帮助您了解正在发生的事情:
error: function(xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
通过这种方式,您可以看到它是 404 (因此页面路径错误), 500 (某些服务器端错误)等。
答案 2 :(得分:1)
删除数据周围的括号(和)。
答案 3 :(得分:0)
添加错误处理程序并查看返回的错误:
$.ajax({
type: "POST",
url: "ajax-newcustomer.php",
data: (...),
dataType: "json",
success: function(data){
...
},
error: function(err){ ... check err here ...}
});
此外,数据周围没有括号