关于ajax数据类型的问题

Issue about ajax datatype

本文关键字:问题 数据类型 ajax 关于      更新时间:2023-09-26

我有一个关于ajax脚本的问题

有必要把datatype: 'json'在每个ajax脚本?

何时放datatype: 'json'

我质疑这一点,因为我有一个ajax脚本,只有当我删除datatype: 'json',我也有一个ajax脚本,需要datatype: 'json'正确运行。

我有点困惑什么时候使用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;

datatype:'json'用于向jQuery指定您期望的响应。不应将此与您正在发送的数据类型混淆。要指定要发送的数据类型,请使用标题content-type:"application/json"

你的ajax只工作的原因,如果你删除这只能解释为url返回JSON以外的东西。当这种情况发生时,jQuery会尝试将非JSON解析为JSON,这会导致一个错误。

根据$(ajax)文档:

期望从服务器返回的数据类型。

意思是,你必须弄清楚服务器发送给你的数据类型。在您的情况下,我假设这将在您的user.php文件中指定(查找$_POST['someValue'])。

其中一个AJAX调用不工作的原因是,很可能您正在处理另一种类型的数据,如texthtml