Проблема с JSON / JQuery и PHP - PullRequest
       1

Проблема с JSON / JQuery и PHP

0 голосов
/ 29 ноября 2018

Я поражен странным вопросом AJAX.Мое требование заключается в проверке имени пользователя из БД, независимо от того, существует оно или нет.Я использую функцию onblur для проверки.Ниже мой Jquery

function check_username (){
//Variable Declaration
var username    = $('#username').val();
var folderPath  = window.location.pathname.replace(/[^\\\/]*$/, '');
var ajxUrl      = folderPath+"helpers/ajaxChk.php";
var ajxData     = {
    action   : 'chkUsername',
    username : username 
};

//Check minimum length
if(username.length < 8){
    $('#Err_User_Name').text('Username should be minimum 8 characters');
    return false;
}else{
    $('#Err_User_Name').text('');
}
console.log(ajxData);
// Check username in database
$.ajax({
  type:         "POST",
  url:          ajxUrl,
  data:         ajxData,
  contentType:  "json",
  success: function (result) {
       //do somthing here
       alert(result);
  }
});

}

Ниже моей функции php

if (is_ajax()) {    
  print_r($_POST);

  //Checks if action value exists
  if (isset($_POST["action"]) && !empty($_POST["action"])) { 
    $action = $_POST["action"];
    echo $action; die;
    //Switch case for value of action
    switch($action) { 
      case "chkUsername": chkUsername(); break;
    }

  }
}

//Function to check if the request is an AJAX request
function is_ajax() {
  return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest';
}

Я получаю пустое оповещение через ФУНКЦИЮ УСПЕХА.На самом деле мне нужно получить значения поста.Пожалуйста, дайте мне знать, в чем здесь проблема.

1 Ответ

0 голосов
/ 30 ноября 2018

НАКОНЕЦ Я ПОЛУЧИЛ НОМЕР.Это никогда не было проблемой с PHP.Я обнаружил, что мой ajxData - это объект JAVASCRIPT, который необходимо преобразовать в JSON перед отправкой в ​​AJAX - мне помогли ссылка Basic W3 school .

Я изменил

var ajxDataObj  = {action:"chkUsername", ajxusrname:username};
var ajxData     = JSON.stringify(ajxDataObj);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...