私は今まで通常の dataType 'html' で AJAX 投稿を使用していましたが、今はそれを変換して dataType 'json' を使用しています。
json を使用する前に、入力フィールドの横にある for each span で応答エラーを分割しました。
これは、通常のデータ型 'html' を使用した私の古い ajax succses 分割エラー コードです。
success:
function(data){
var data_array = split('*');
for(var i=0; i<data_array.length-1; i++)
{
messgae_array = data_array[i].split(':');
$("#"+messgae_array[0]+"_error").html(messgae_array[1]);
$("#"+messgae_array[0]).css({"border":"1px solid red"});
}
}
これはフォームへの私の入力です
<input type="text" id="uname" name="uname" value="" class="inplaceError" />
<span id="uname_error"></span>
私はそれがどのように見えるかだけを入れたより多くの入力を持っています..
したがって、すべての入力には、ajax 応答からのエラーを保持するスパンがあります。
そして今、問題は私の古いコードがjson応答ではなくhtml応答を処理することを知っていることです. ?
編集:
私はこのようなエラーを発生させます:
if(isset($_POST['p']) && !empty($_POST['p']))
{
if($password == $retype)
{
$random_salt = hash('sha512', uniqid(mt_rand(1, mt_getrandmax()), true));
// Create salted password (Careful with the chilli)
$password = hash('sha512', $password.$random_salt);
}
else
{
$message['password']=' password not match';
}
and so on .
$message['email']=' wrong email';
そして、エラー用の foreach json 配列:
foreach($message as $key => $val) {
$return = array('error' => $key, 'message' => $val );
echo json_encode($return);
}
ここで、エラーの foreach で何か問題があり、ajax 応答コードとして何らかの考えがありますか?