Javascript Ajax成功在控制台中显示消息
我有一个数组中的数据,该数组应该使用ajax发送到php文件。 我尝试使用console.log显示正在发送的阵列,如果数据成功发送,还可以显示一条消息。但是,我的控制台上没有显示任何消息。有人能告诉我我的代码有什么问题吗Javascript Ajax成功在控制台中显示消息,javascript,arrays,json,ajax,Javascript,Arrays,Json,Ajax,我有一个数组中的数据,该数组应该使用ajax发送到php文件。 我尝试使用console.log显示正在发送的阵列,如果数据成功发送,还可以显示一条消息。但是,我的控制台上没有显示任何消息。有人能告诉我我的代码有什么问题吗 var that = $(this), url = that.attr('action'), type = that.attr('method'), data = {}; var cart = {}; cart.item_name
var that = $(this),
url = that.attr('action'),
type = that.attr('method'),
data = {};
var cart = {};
cart.item_name = miniform.elements['itemId'].value;
cart.quantity = miniform.elements['quantityId'].value;
cart.amount = miniform.elements['amountId'].value;
cart.total = amount * quantity;
var jsonString = JSON.stringify(cart);
$.ajax({
url: url,
type: type,
data:{data:jsonString},
success: function(){
console.log('Email Sent');
}
});
console.log(jsonString);
}
最有可能发生的情况是,您没有重新调整实际的成功消息,这就是为什么它没有被记录。不要在AJAX调用中使用
success
函数,而是将其更改为always
,然后查看是否返回结果。您还需要将一个参数添加到始终
函数中,该函数将作为您的响应,如下所示:
$.ajax({
url: url,
type: type,
data:{data:jsonString},
always: function(result){
console.log('Email Sent');
console.log(result);
}
});
正如评论中指出的,您还应该有一个错误
回调,这样您就可以随时知道是否有错误。看起来是这样的:
$.ajax({
url: url,
type: type,
data:{data:jsonString},
success: function(result){
console.log('Email Sent');
console.log(result);
},
error: function(error){
throw new Error('Did not work');
}
});
如果您可以展示您的PHP,我们可以帮助您获得success
响应
编辑
使用浏览器中的开发工具查看是否提出了请求:
另外,请查看这个JSBin以获得AJAX请求的工作示例:正如其他人已经指出的那样,如果不检查控制台/后端,很难说出什么是错误的。我假设您希望使用从表单收集的一些数据从服务器发送电子邮件,并且您的后端脚本和前端脚本都位于同一个域中。那么,你能做什么
$('.form_submit_btn').on('click',function(){//所有代码都在这里})代码>
cart.total = amount * quantity;
我觉得很奇怪。你真的有这样的变量吗?它们不应该分别是
cart.amount
和cart.quantity
吗?这样试试,看看你得到了什么->@adeneo仍然不起作用我已经尝试了你的代码,但仍然没有显示任何内容console@lorrainemutheu您是否使用更新的始终功能进行了尝试?控制台里有什么东西吗?你的PHP看起来像什么?谢谢,它工作了。我使用您的第一个答案来使用警报,并在我的代码中找到了问题所在。再次感谢您对购物车的看法也是正确的。总计……对于那些想知道相同问题的人,变量应该是cart.amount和cart.quantity