ユーザー入力をテキスト ボックスから PHP ファイルに送信する単純な jQuery AJAX 要求があります。そのコードは次のとおりです。
$.ajax({
url: url,
type: type,
data: data,
dataType: 'json',
success: function(response){
console.log(response);
}
});
PHP ファイルは基本的にユーザーをログインさせますdataType: 'json'
。AJAX リクエストに " " を追加するまでは、すべて正常に機能していました。これで、送信ボタンをクリックしても何もログに記録されません。これが私のPHPファイルです:
<?php
include 'dbcon.php';
if ( isset( $_POST['text_login_username'], $_POST['text_login_password'] ) ) {
$loginResult = array();
$dbcon = getConnection();
$userName = mysqli_real_escape_string( $dbcon, $_POST['text_login_username'] );
$password = mysqli_real_escape_string( $dbcon, $_POST['text_login_password'] );
$loginQuery = "SELECT * FROM userData WHERE userName='$userName' AND userPassword='$password'";
$queryResult = mysqli_query( $dbcon, $loginQuery );
$legalRows = mysqli_num_rows( $result );
if ( $legalRows == 1 ) {
$loginResult['allClear']=0;
} else {
$loginResult['allClear']=1;
}
echo json_encode( $loginResult );
}
?>
AJAX ファイル
$(document).ready(function(){
$('form.loginSubmit').on('submit',function(){
var that = $(this),
url=that.attr('action'),
type=that.attr('method'),
data={};
that.find('[name]').each(function(index,value){
var that=$(this),
name=that.attr('name');
value=that.val();
data[name]=value;
});
$.ajax({
url: url,
type: type,
data: data,
contenType:'application/json; charset=utf-8',
dataType:'json',
success: function(response){
console.log(response);
},
error: function(error)
{
console.log("test");
}
});
return false;
});
});
ファイル、投稿などへの適切なリンクが適切に設定されていることを保証できます。これは、json_encode
変数を送信しようとするまで機能するためです。どんな助けでも大歓迎です!
ありがとう!
〜カーペットフィズ
更新: error:
AJAX 呼び出しに設定を追加しました。送信するたびに実行されます。
更新:私の答えをチェックしてください。これが私にとっての解決策でした。