我只是试图通过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但无法正常工作。
答案 0 :(得分:2)
如果您期待JSON回来,我认为您需要dataType: 'json'
。
否则jQuery必须猜测,如果你没有发送内容类型application/json
,它可能会猜错。