I have an old webpart in XML and using SP services. I need to convert using Ajax

I was given an old webpart using SP services and XML. I was requested to use Ajax. This is the first time I do this kind of conversion and I am not sure if I am doing it correctly. This is the old code

$  (document).ready(function() {   $  ().SPServices({     operation: "GetListItems",     async: false, /**--List Name Below(case sensative)--**/     listName: "Title of List Here", /**--Site List Resides on (leave blank if same site)--**/     webURL: "", /**--No Change below this line--**/     CAMLViewFields: "<ViewFields><FieldRef Name='RequiredField' /><FieldRef Name='Title' /></ViewFields>",     completefunc: function (xData, Status) {       $  (xData.responseXML).SPFilterNode("z:row").each(function() {         var pictureLink = $  (this).attr("ows_RequiredField");         var linkTitle = $  (this).attr("ows_Title");         $  ('#lightBoxContainer')             .append($  ('<figure class="col-6 col-md-3 view overlay hm-red-strong">')                 .append ($  ('<a>').attr('href', "" + "/" + pictureLink + "").attr("title", linkTitle).attr('data-size', "1600x1067")                 .append($  ('<img>').attr('src', "" +  "/" + pictureLink + "").attr("title", linkTitle).addClass("img-fluid")))             .append($  ('<figcaption class="text-center" itemprop="caption description">').html(linkTitle)));       });     }   }); });  

This is what I have done so far

$  .ajax({     url: "/_api/web/lists/GetByTitle('LightBoxGallery')/items",     method: 'GET',     headers: {         'Accept': 'application/json; odata=verbose'     },     success: function(data) {          var items = data.d.results;          for (var i = 0; i < items.length; i++) {             var pictureLink = items[i].RequiredField;             var linkTitle = items[i].Title;         }           $  ('#lightBoxContainer')                 .append($  ('<figure class="col-6 col-md-3 view overlay hm-red-strong">')                 .append ($  ('<a>').attr('href', "" + "/" + pictureLink + "").attr("title", linkTitle).attr('data-size', "1600x1067")                 .append($  ('<img>').attr('src', "" +  "/" + pictureLink + "").attr("title", linkTitle).addClass("img-fluid")))                 .append($  ('<figcaption class="text-center" itemprop="caption description">').html(linkTitle)));       });         }     },     error: function(data) {         console.log('Error: ' + data);     } });  

Problema con datatable ajax laravel

tengop un detalle con la datatable de laravel con la libreria yajra, trato de imprimir una variable y me da error aqui mi codigo

$  gastos = Gastos::where('empresa',Auth::user()->empresa)->where('tipo', "<>", 5)->get();    return DataTables::of($  gastos)       ->editColumn('beneficiario', function ($  gastos){           $  contacto = DB::table('contactos')->where('id',$  gastos->beneficiario)->get();           return '<a href="" target="_blanck">'.$  contacto[0]->nombre.'</a>';       })       ->rawColumns(['beneficiario'])       ->toJson(); 

al tratar de imprimir contacto->nombre me lanza error

JavaScript / Jquery me tira error en ajax al querer traer info de base de datos

tengo mi codigo que llama a una funcion en .net que me trae unos datos de mi base de datos, mi funcion en .net funciona perfecto porque lo corroboro por postman!

Mi problema esta en frontend, cuando yo quiero llamar a esa funcion mediante un ajax, que le paso los parametros que necesita, esperando que me devuelva algo. No se cual es mi error, porque me parece que invoco bien a la funcion. Simplemente quiero mostrar los resultados en consola, para saber por lo menos si me esta llegando a lo que quiero, pero no da resultado..

gracias por sus respuestas les paso mi codigo.

$  (document).on("pagebeforeshow", "#mostrar_articulos", function() {     // una vez dentro de #mostrar_articulos   //Quiero que al apretar el boton! me tome los datos que tengo en mis h3, y que me ejecute el metodo    // ObtengoDato(); que hace la llamada a la base de datos     $  ("#btnEjecutar").click(function() {         var valorHSeccion = $  ("#hSecc").text();         var valorHCategoria = $  ("#hCat").text();         var valorHEstilo = $  ("#hEst").text();         var valorHMarca = $  ("#hMarc").text();         var valorHTall = $  ("#hTall").text();         ObtengoDato(valorHSeccion, valorHCategoria, valorHEstilo, valorHMarca, valorHTall);     });  });    function ObtengoDato(NombreSeccion, NombreCategoria, NombreEstilo, NombreMarca, NumeroTalle) {     var dir = "ObtengoCandCla";     //trim para quitar los espacios que vienen con los parametros     NombreSeccion = $  .trim(NombreSeccion);     NombreCategoria = $  .trim(NombreCategoria);     NombreEstilo = $  .trim(NombreEstilo);     NombreMarca = $  .trim(NombreMarca);     NumeroTalle = $  .trim(NumeroTalle);     $  .ajax({         type: 'get',         url: api + dir + "?NombreSeccion=" + NombreSeccion + "&NombreCategoria=" + NombreCategoria + "&NombreEstilo=" + NombreEstilo + "&NombreMarca=" + NombreMarca + "&NumeroTalle=" + NumeroTalle,         success: function(datos) {             var data = datos;             for (var i = 0; i < data.length; i++) {                 console.log("Funciona");                 console.log("Fabricante: " + data[i].Fabricante + ", Articulo: " + data[i].articulo + ", Descripcion: " + data[i].Descripcion + ", Color: " + data[i].color);             }         },         error: function(xhr, textStatus, errorThrown) {             console.log(xhr);             console.log(textStatus);             console.log(errorThrown);         }     });  }
 <div data-role="page" data-theme="a" id="mostrar_articulos">        <div id="div_Articulos">                 <div class="div_res">                     <h3 id="hSecc"></h3>                 </div>                 <div class="div_res">                     <h3 id="hCat"></h3>                 </div>                 <div class="div_res">                     <h3 id="hEst"></h3>                 </div>                 <div class="div_res">                     <h3 id="hMarc"></h3>                 </div>                 <div class="div_res">                     <h3 id="hTall"></h3>                 </div>        </div>             <div>                 <input type="button" id="btnEjecutar" value="Ejecutar">             </div> </div>

paginar con render() ajax y laravel

Hola estoy intentando paginar una tabla Mysql, estoy utilizando ajax pero cuando utilizo ajax no puedo obtener la respuesta del controlador mediante blade,solo me llega la respuesta a Javascript. Deseo obtener en blade lo que la peticion ajax me devuelve.

Mi vista :

<table class="mi_tabla" class="display" style="width:100%"> 

@if(isset($ personas))
@foreach($ personas as $ persona) {{$ persona->nombre}} {{$ persona->apellido}} {{$ persona->cedula}} @endforeach @endif

Mi Modelo:

class Personas extends Model 

{ protected $ table=’clientes’; protected $ primaryKey=’id’; public $ timestamps=false; }

Mi controlador :

class Busqueda extends Controller 

{

public function proceso(Request $  request) {     $  personas = Personas::all();     return response()->with('personas',$  personas); } 

}

Mi Peticion Ajax .

$ .ajaxSetup({

    headers: {         'X-CSRF-TOKEN': $  ('meta[name="csrf-token"]').attr('content')     }  }); 

$ (‘.enviar’).click(function(event) {

$ (‘.mi_tabla’).html(“NombreApellidoCedulaOpciones”);

$ .post(‘ajax’, {}, function(data, textStatus, xhr) {

alert(data);

});

});

Como substituir o ajax em uma chamada de conteúdo sem dar refresh na pagina

Estou desenvolvendo um dashboard para fim de aprendizado, até que cheguei na questão de carregar o conteúdo dentro de uma div sem que a página atualize, pesquisando encontrei uma forma utilizando ajax e jquery. Fui pesquisar um pouco mais a fundo e encontrei um conteúdo dizendo que não é uma boa pratica fazer a utilização do ajax para carregando de conteúdo.

neste link: http://wbruno.com.br/opiniao/parem-de-usar-ajax-eu-imploro/

gostaria e saber se realmente esse conteúdo está correto e utilizar o ajax para esses fins não é correto, caso não seja como substituí-lo

não esta inserindo os dados no banco via ajax e php

alguma coisa aconteceu eu n sei o que foi simplesmente parou de enviar os dados para banco

$  ("#tipo_cad").submit(function(e) {         var url2 = "mostra/mostra_cad_tipo.php";         var url = "insere/insere_tip_prod.php";            $  .ajax({                type: "POST",                url: url,                data: $  ("#tipo_cad").serialize(),                success: function(data)         {                     $  ("#mostra_cad_prod").fadeOut(800, function(){                     $  ("#mostra_cad_prod").load(url2).fadeIn().delay(500);                    });                }               });           e.preventDefault();// esse comando serve para previnir que o form realmente realize o submit e atualize a tela.     }); 

essa é a pagina que insere no banco

<?php require_once('../Connections/conn2.php'); ?>    <?php $  tipo_prod = $  _POST['tipo_prod']; $  id_tip = $  _POST['id_tip'];        if(isset($  _FILES['arquivo'])){     $  extensao = strtolower(substr($  _FILES['arquivo']['name'], -4)); //pega a extensao do arquivo     $  variavel = ($  _POST['tipo_prod']);  $  variavel_limpa = strtolower( preg_replace("/[ -]+/", "-", strtr(utf8_decode(trim($  variavel)), utf8_decode("áàãâéêíóôõúüñçÁÀÃÂÉÊÍÓÔÕÚÜÑÇ"),"aaaaeeiooouuncAAAAEEIOOOUUNC-")) );      $  novo_nome = "$  variavel_limpa-padrao" . $  extensao; //define o nome do arquivo      $  diretorio = "../upload/"; //define o diretorio para onde enviaremos o arquivo     move_uploaded_file($  _FILES['arquivo']['tmp_name'], $  diretorio.$  novo_nome);      $  result = $  conn1->query("SELECT * FROM cad_prodrutos_tipo_prod WHERE tipo_prod = '$  tipo_prod' LIMIT 1");  var_dump($  result);  if ($  result->num_rows  > 0) {        echo "    <div id=\"sucess-tip\" class=\"alert alert-danger\" role=\"alert\" style=\"position: absolute; \n"; echo "top: 0; \n"; echo "left: 0; \n"; echo "z-index: 10; \n"; echo "padding:5px; \n"; echo "width:99%;\n"; echo " position: fixed; \">\n";     echo "<a class=\"close\" data-dismiss=\"alert\" href=\"#\">×</a>"; echo "  <center><h1 class=\"alert-heading\">Categoria ja existente!</h1></center>\n"; echo "  <hr>\n"; echo "  <p class=\"mb-0 text-center\">Verifique abaixo as categorias existentes!</p>\n";  echo "</div>";    }       else{   $  sql = "INSERT INTO cad_prodrutos_tipo_prod VALUES";     $  sql .="('$  id_tip','$  tipo_prod','$  novo_nome')";      if ($  conn1 ->query($  sql) === true){          echo "    <div id=\"sucess-tip\" class=\"alert alert-success\" role=\"alert\" style=\"position: absolute; \n"; echo "top: 0; \n"; echo "left: 0; \n"; echo "z-index: 10; \n"; echo "padding:5px; \n"; echo "width:99%;\n"; echo " position: fixed; \">\n"; echo "<a class=\"close\" data-dismiss=\"alert\" href=\"#\">×</a>";  echo "        <center><h1 class=\"alert-heading\">Categoria de produto cadastrado com sucesso!</h1></center>\n"; echo "</div>\n";      } else {         echo "erro:". $  sql . "<br>" . $  conn1->error;     }  } }  $  conn1->close();   ?> 

Magento 2: Ajax validation in checkout page

So I need to add an AJAX validation for the field VAT number of shipping and billing address in checkout page, which is basically like this:

define([], function () {     return {         validate:function (value){             $  .ajax({                 url: 'path/to/the/validation/controller',                 type: 'get',                 dataType: 'json',                 cache: false             }).done(function (response) {                 return response;             }).fail(function () {                 return false;             });              return false;         }     }; }); 

But as you can see, this validation won’t work because AJAX async is involved, so it will always return false regardless the validation result.

I want to avoid async: false because it causes bad user experience as it freeze the page while validating, so I come up with these work around, but none works:

1. I create a custom error message span below the VAT field, and set the message myself in AJAX callback:

define([], function () {     return {         validate:function (value){             $  .ajax({                 url: 'path/to/the/validation/controller',                 type: 'get',                 dataType: 'json',                 cache: false             }).done(function (response) {                 if (response) {                     $  ('.vat-error-message span').html('');                     window.vatValidation = true; // When submit form, I check this value to accept or rejecting the form submit.                 } else {                     $  ('.vat-error-message span').html($  t('Invalid VAT Number'));                     window.vatValidation = false;                 }             }).fail(function () {                 $  ('.vat-error-message span').html($  t('Invalid VAT Number'));                 window.vatValidation = false;             });              return true;         }     }; }); 

Problem: many other events that validating the form such as saving new shipping or billing address still expecting return result from the validator, which is always true regardless the validation result.

2. I found a validation method named remote where you basically add it into data-validate which is pretty good: (more information here: Magento 2 – jQuery validation remote method)

<input name="vat_id" data-validate="{'remote':'path/to/the/validation/controller'}"/> 

Problem: It only works outside checkout page, e.g edit address in account page. Seem like in checkout page, they use a whole different set of validation rule which isn’t included remote.

My only hope now is trying to get remote works in checkout page by calling it in my custom validation rule like this:

$  .validation.methods['remote'].call(); 

However, it’s just an idea and I haven’t found a way to get it works.

Problema comunicación entre PHP y AJAX. Paso de parámetro booleano erróneo

Alguien sabe por qué esto me devuelve false en el Script de jQuery? Envío el user y el pass desde el formulario, lo mando a PHP desde jQuery y recupero la información del login en true o false para validar la acción posteriormente

Cuando la ejecuto, esta clase me devuelve: {“arrayGlobalDatos”:{“successA”:true}}

    header('content-type: application/json');     $  getusername = filter_input(INPUT_GET, 'username');     $  getpassword = filter_input(INPUT_GET, 'password');          if($  getusername && $  getpassword) {             $  get_comer = ClaseUsuarios::consultaSinFormatoLogineo($  getusername,$  getpassword);             $  username    =$  get_comer->getUsuario();             $  password    =$  get_comer->getPassword();             $  count       =$  get_comer->getCount();                 //la query me devuelve 1                 if($  count == 1) {                                     $  arrayGlobalDatos= ["successA"=>true];                                               } else {                    $  arrayGlobalDatos= ["successB"=>false];                 }                 } else {             $  arrayGlobalDatos= ["successC"=>false];         }          $  respuesta["arrayGlobalDatos"] = $  arrayGlobalDatos;         $  myjoson = json_encode($  respuesta);         echo $  myjoson; 

cuando la llamo desde el JS así (previamente envio el user y el pass) me devuelve false en la función validar()

    $  (document).ready(function () {         $  ("#login_form").click(function () {             var username = $  ("#lenamedelusuari").val();             var password = $  ("#lepassdelusuari").val();             authenticate(username, password);         });     });       function authenticate(username, password) {         event.preventDefault();         $  .ajax         ({             type: "GET",             url: ruta+"login.worker.php",             data:              {                  'username': username,                 'password': password               },             success: function () {                 validar();             },             error: function(xhr, ajaxOptions, thrownError) {                 alert(thrownError);                 window.location.href = rutaC+"login.html";             }         })     }      function validar() {         var xmlhttp = new XMLHttpRequest();         xmlhttp.onreadystatechange = function() {              if (this.readyState == 4 && this.status == 200) {                         var objetoTipoTienda = JSON.parse(this.responseText);                  var colA = objetoTipoTienda["arrayGlobalDatos"].successA;                  var colB = objetoTipoTienda["arrayGlobalDatos"].successB;                  var colC = objetoTipoTienda["arrayGlobalDatos"].successC;                  console.log(colA);                 console.log(colB);                 console.log(colC);            }          };         xmlhttp.open("GET", ruta+"login.worker.php", true);         xmlhttp.send();     } 

NOTA: no pongo la query porque como indico, la clase PHP me hace el read bien y me devuelve el resultado que luego parseo.