jquery使用来自AJAX的json编码数组

时间:2011-03-24 01:00:31

标签: php jquery ajax json

我只是试图通过jquery的AJAX将数组的元素吐出到表单上的单独输入字段中。

继承我的javascript代码:

        $('#based').change(function() { 
        if ($(this).val().length > 0)
        {           
            $.ajax({
                type: "POST",
                url: "ajax.php",
                data: "id="+$(this).val(),
                success: function(data){
                    if (data != 'error')
                    {                       
                        $('#keyword').val(data[2]);
                        $('#keyword_slug').val(data[3]);
                    }
                }
            });
        }
    });

以下是'ajax.php'的PHP代码:

$sql = mysql_query("select * from `keywords` where `id`='".mysql_real_escape_string($_POST['id'])."'");

if (mysql_num_rows($sql) == 0)
{
    echo 'error';
}
else
{
    while ($row = mysql_fetch_assoc($sql))
    {
        foreach ($row as $k => $v)
            $data[] = $v;
    }

    echo json_encode($data);
}

它不起作用。我该怎么办?我查看了serializeArray但无法正常工作。

1 个答案:

答案 0 :(得分:2)

如果您期待JSON回来,我认为您需要dataType: 'json'

否则jQuery必须猜测,如果你没有发送内容类型application/json,它可能会猜错。