Php ajax响应未加载div

Php ajax响应未加载div,php,jquery,ajax,Php,Jquery,Ajax,我有一个表单验证类,它返回一个错误数组 $.ajax({ type: "POST", url: "/oop/register.php", data: data, success: function(response){ alert(response); var emptyDiv= $('<div></div>'); jQuery.each(response, function(i, val

我有一个表单验证类,它返回一个错误数组

 $.ajax({
    type: "POST",
    url: "/oop/register.php",
    data: data,
    success: function(response){
        alert(response);
        var emptyDiv= $('<div></div>');

        jQuery.each(response, function(i, val){
            emptyDiv.clone().insertAfter('ul#state-list li:nth-child(' + val + ')');
        });
        $('#signupalert').append(emptyDiv);
        $('#signupalert').fadeIn('slow');
}});
$.ajax({
类型:“POST”,
url:“/oop/register.php”,
数据:数据,
成功:功能(响应){
警报(响应);
var emptyDiv=$('');
每个(响应,函数(i,val){
emptyDiv.clone().insertAfter('ul#state list li:nth child('+val+'));
});
$('signupalert')。追加(emptyDiv);
$('signupalert').fadeIn('slow');
}});
该警报显示响应是一系列错误,但在控制台中我收到以下错误:

   Uncaught TypeError: Cannot use 'in' operator to search for '209' in Array
(
    [0] => username is required
    [1] => first_name is required
    [2] => last_name is required
    [3] => password is required
    [4] => confirm_password is required
 ...<omitted>...)
Uncaught TypeError:无法使用'in'运算符在数组中搜索'209'
(
[0]=>需要用户名
[1] =>第一个\u名称是必需的
[2] =>姓氏是必需的
[3] =>需要密码
[4] =>需要确认密码
......)

我建议对使用普通的
而不是
jQuery。每个
可能返回的响应不是javascript数组对象

$.ajax({
type: "POST",
url: "/oop/register.php",
data: data,
success: function(response){
    response = jQuery.parseJSON(response);
    alert(response);
    var emptyDiv= $('<div></div>');

    for(var x = 0; x < response.length; x++) {
       emptyDiv.clone().insertAfter('ul#state-list li:nth-child(' + response[x] + ')')
    }
    $('#signupalert').append(emptyDiv);
    $('#signupalert').fadeIn('slow');
}});
$.ajax({
类型:“POST”,
url:“/oop/register.php”,
数据:数据,
成功:功能(响应){
response=jQuery.parseJSON(response);
警报(响应);
var emptyDiv=$('');
对于(var x=0;x

还要确保
response[x]
是您要查找的字符串值,请尝试提醒它;或者,您也可以在浏览器的开发模式下检查响应的实际值,或者如果您有Fiddler之类的工具,请使用该工具,以确保响应值是普通数组或数组对象

向我们展示如何返回数组。我猜您返回的是JSON对象,而不是and数组或对象。在本例中,使用
$.parseJSON(response)
将脚本化JSON转换为JSON数组。我修改了我的解决方案,希望这能奏效