繁体   English   中英

拆分错误:拆分不是函数

[英]error with split: split is not a function

我有此javascript代码,可在单击按钮时执行ajax请求。

$('#allinea').click(function(e){
    e.preventDefault();
    var password = $('#password').val();
    $.ajax({
        type: "POST",
        url: "db_align.php",
        data: {password:password},
        complete: function(data){ 
            data1=data.split("|");
            if(data1[0]=="Successo"){ 
                $("#per_all").fadeTo(200,0.1,
                function(){
                    $(this).find('img').attr("src",'../images/ok.png');
                    $(this).find('.right').html(data1[1]).promise().done(function(){
                        $(this).fadeTo(900,1);
                    });
                });
            }else if(data1[0]=="Errore"){
                $("#per_all").fadeTo(200,0.1,
                function(){
                    $(this).find('img').attr("src",'../images/alert.png');
                    $(this).find('.right').html(data1[1]).promise().done(function(){
                        $(this).fadeTo(900,1);
                    });
                });
            }
        }
    }); //chiudo $.ajax
});

php页面返回“ Successo | Allineamento riuscito”,我在萤火虫中正确看到它,但是js返回错误:

类型错误:data.split不是函数

data1 = data.split(“ |”);

我在我的应用程序中到处使用此代码,没有任何不便之处。 这次我在做什么错?

对于我所看到的,这不是一个数组,因此这应该可以正常工作!

jQuery将在此处返回jqXHR ,这意味着您可能需要执行data.responseText ,而不是直接访问data

Exo的答案很完美。 它将允许您编辑原始文本。

如果您知道返回的数据类型,则可以(必须)进行显式设置。 然后,jQuery将以编程方式以正确的格式为您转换data

dataType: json
dataType: text纯文本的文本

可以在文档中找到更多信息

您应该更新您的complete方法来done成功条件和fail的请求失败时。

1.8版开始不推荐使用complete ,而将其替换为always ,它返回一个datajqXHR对象。 成功complete将根据done的功能返回一个data对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM