Php ajax的问题不再存在

Php ajax的问题不再存在,php,jquery,ajax,Php,Jquery,Ajax,当我在php上获得echo success时,我对ajax有一个问题。我没有得到第一个执行如果 if(text[0]==="success") php内部的代码 if(count($error)==0) { $user = ORM::for_table('usuario')->create(); $user->username = $username; $user->contraseni

当我在php上获得
echo success
时,我对ajax有一个问题。我没有得到第一个执行如果

if(text[0]==="success")
php内部的代码

 if(count($error)==0)
        {
            $user = ORM::for_table('usuario')->create();
            $user->username = $username;
            $user->contrasenia = password_hash($password, PASSWORD_DEFAULT);
            $user->email = $email;
            $user->admin = $is_admin;
            $user->save();
            echo "success";
        }
        else 
        {
            $error = json_encode($error);
            echo $error;
        }
我的ajax代码

[![$("#create-button").on('click', function(event){
   //cancels the form submission
   event.preventDefault();
   submitForm();
});

function submitForm()
{
    var dataString = $("#userForm").serialize();;
    $.ajax({
        dataType: "json",
        type: "POST",
        url: "/altausers",
        data: dataString,
        success: function(text)
        {
           console.log("hola");
           console.log(text);

           if(text\[0\]==="success")
           {
               alert("hola");
                //$("#error").addClass('hidden');
           }
           else if(text.length > 0)
           {

               $("#error").removeClass('hidden');

               texterror = "<ol type='disc'>";
               $.each(text,function(index,value)
               {
                   texterror+="<li>"+value+"</li>";
               });
               texterror+="</ol>";
               document.getElementById("error").innerHTML = texterror;
           }
        }
    });

}
[![$(“#创建按钮”)。在('click',函数(事件){
//取消表单提交
event.preventDefault();
submitForm();
});
函数submitForm()
{
var dataString=$(“#userForm”).serialize();;
$.ajax({
数据类型:“json”,
类型:“POST”,
url:“/altausers”,
数据:dataString,
成功:函数(文本)
{
控制台日志(“hola”);
console.log(文本);
如果(文本\[0\]=“成功”)
{
警报(“hola”);
//$(“#错误”).addClass('hidden');
}
else if(text.length>0)
{
$(“#error”).removeClass('hidden');
texterror=“”;
$.each(文本、函数(索引、值)
{
text错误+=“
  • ”+值+“
  • ”; }); text错误+=“”; document.getElementById(“error”).innerHTML=texterror; } } }); }

    图像控制台

    有什么问题

    能告诉我这是什么问题吗


    我已经将消息success转换为json了

     echo json_encode(["success"]);
    
    或者保留echo,如果在ajax中则替换

    if(text == "success")
    

    问题可能是它是一个数组,因此您可以尝试以下方法:

    $.ajax({
        url: "items.php",
        async: false,
        type: "POST",
        dataType: "JSON",
        data: { "command" : "getItems" }
    }).success(function( response ) {
        alert( response.fruits.apple );
        alert(Object.keys(response).length); 
    });
    
    如果你想看到结果:

    Object.keys( response ).forEach(function( key ) {
        console.log('key name: ', key);
        console.log('value: ', response[key]);
    });
    

    $error
    是一个数组??因为console中的多色错误消息表示它是一个对象,而第二次显示为黑色表示它是一个字符串,如果字符串未正确访问,则还有一件事
    if(text\[0\])
    将给出错误