我对ajax脚本有疑问。
是否有必要在每个ajax脚本中放置datatype: 'json'
?
什么时候放datatype: 'json'
?
我对此提出质疑,因为我有一个ajax脚本只有在我删除datatype: 'json'
时才有效,而且我还有一个需要datatype: 'json'
正确运行的ajax脚本。
我对何时使用datatype: 'json'
感到困惑......我只是一个新手。
我的脚本示例,只有在我删除数据类型时才会运行:
var email = $('#email').val();
var password = $('#password').val();
$.ajax({
data: {
email : email, password : password
},
type: "POST",
url: 'Oppa/view/user.php',
success: function(data)
{
if (Number(data) == 1)
{
$(".show-page[data-page=progBar]").trigger("click");
$('#myModal').modal('hide');
}
else
{
$('div#show:empty').show();
$('#show').html(data);
}
}
});
return false;
答案 0 :(得分:2)
datatype:'json'
用于向jQuery指定您期望作为响应的内容。这不应该与您发送的数据类型混淆。要指定要发送的数据类型,请使用标题content-type:"application/json"
。
你的ajax仅在你移除它时才有效的原因只能通过url返回除JSON以外的东西来解释。当发生这种情况时,jQuery将尝试将非JSON解析为JSON,这将导致错误。
答案 1 :(得分:0)
您期望从服务器返回的数据类型。
意思是,您必须弄清楚服务器发回的数据类型。在您的情况下,我认为这将在您的user.php文件中的某处指定(查找 $ _ POST [' someValue'] )。
您的某个AJAX调用无法正常工作的原因是因为您很可能正在处理其他类型的数据,例如 text 或 html