Php ajax的问题不再存在
当我在php上获得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
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\])
将给出错误