0
私はAJAX (jQuery)
を使ってフォームをuser-ajax.php
に投稿していますが、ページは実際には"success"
のような応答をエコーアウトする必要があります。その同じ成功へイムが何かをやっていますが、ここで働いていない場合は、応答値をテストAJAXコードイムにPHPのコードがあるajaxとphpから変数を返すと成功
function ajaxlogin($config,$lang){
//something
$response = 'success';
echo $response;
}
Ajaxコードは:
$(document).ready(function() {
$("#login").click(function() {
$("#login-status").show();
var action = $("#lg-form").attr('action');
var form_data = {
action: action,
username: $("#username").val(),
password: $("#password").val(),
is_ajax: 1
};
$.ajax({
type: "POST",
url: ajaxurl,
data: form_data,
success: function(response) {
alert (response); //this alert show "success"
if (response == 'success') {
$("#lg-form").slideUp('slow', function() {
$("#login-status").removeClass('info-notice').addClass('success-notice');
$("#login-status #login-status-message").html('Logged in success. Redirecting....');
location.reload();
});
}
else {
$("#login-status").removeClass('info-notice').addClass('error-notice');
$("#login-status #login-status-message").html(response);
}
}
});
return false;
});
});
私の問題はあるのアラート表示されること"success"
命令が実行されていない場合は、直接他の命令に進む。"if (response == 'success')"
命令は実行されない。通常'success'== 'success'
です。
応答文字列に他の文字は含まれていませんか?同様に、 'console.log(response.length)'とそれが7であることを確認できますか? – Pointy
それをここのようにトリムします:if($。trim(response)== 'success'){}あなたはそこに空白があるかもしれません。 –
PHPファイル/関数 'function ajaxlogin($ config、$ lang)'を使用している完全で正確なコードを追加する必要があります –