1
我正在嘗試創建一個AJAX窗體,該窗體顯示錯誤或成功消息時正確填寫字段。這是我的代碼:抓取json對象數據
$('#name').keyup(function() {
var name = $('#name').val();
$.post('core/name_processing.php', { name: name }, function(data) {
if (data.name === 'nodata') {
$('#name_check').html(' ');
$('.input_feedback').fadeOut('fast');
$('.input_success').fadeOut('fast');
} else if (data.name === 'success') {
$('#name_check').html(data.name);
$('.input_feedback').fadeOut('fast');
$('.input_success').fadeIn('fast');
} else {
$('#name_check').html(data.name);
$('.input_feedback').fadeIn('fast');
}
});
});
'#NAME'是輸入字段。
這裏的PHP:
<?php
$result = array();
if (isSet($_POST['name'])) {
if (empty($_POST['name'])) {
$result['name'] = 'nodata';
} else {
$name = $_POST['name'];
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$result['name'] = "Only letters and white space allowed";
} else if (strlen($name) > 10) {
$result['name'] = 'success';
} else {
$result['name'] = strlen($name).' characters';
}
}
}
echo json_encode($result);
?>
的時候我沒有使用數組的代碼工作就好了,但因爲我想添加更多的輸入字段我需要在一個數組中返回的數據。問題似乎是data.name不是一個有效的值,它不會像它應該那樣獲取數據。我怎樣才能解決這個問題?
數據返回{"name":"... characters"}
,{"name":"nodata"}
和{"name":"success"}
這似乎是正確的。
這是一個錯字,抱歉。這是在我的代碼,並與它,問題依然存在。 – Sander
添加'json'作爲最後一個$ .post參數 – sklwebdev
阿哈,這是做的伎倆,謝謝! – Sander