Ajax calls in Drupal

Submitted bybarnettech onFri, 05/06/2022 - 10:29

To send the json data in JavaScript

   var xmlhttp = new XMLHttpRequest();   // new HttpRequest instance
   xmlhttp.open("POST", "/user/17352/post-dashboard");
   xmlhttp.setRequestHeader("Content-Type", "application/json");

To receive the json data in PHP

 $json_string = \Drupal::request()->getContent();
    $decoded = \Drupal\Component\Serialization\Json::decode($json_string);
    $name = $decoded['name'];

    return new JsonResponse($name);

Platform.sh commands

Submitted bybarnettech onFri, 03/25/2022 - 10:12

Activate a new branch and have it register in platform.sh:

platform environment:activate new-feature

Importing data:

platform sql < my_database_backup.sql

Exporting data:

platform db:dump --gzip

Upload files

platform mount:upload

If you get this error: Access denied; you need (at least one of) the SUPER privilege(s) for this operation

sed 's/\sDEFINER=`[^`]*`@`[^`]*`//g' -i oldfile.sql

When using platform sql to upload a new database delete the line with "DEFINER" in it first

JavaScript post request

Submitted bybarnettech onWed, 03/02/2022 - 15:03
var email = document.querySelector('#edit-investor-profiles-0-entity-field-email-0-value').value;
  if (email.length > 3) {
    // construct an HTTP request
    var xhr = new XMLHttpRequest();
    var url = "/user/register/check-email"
    xhr.open("POST", url, true);
    xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');

    var data = JSON.stringify({"email": email});
    // send the collected data as JSON
    xhr.onreadystatechange = function()
      if (xhr.readyState == 4 && xhr.status == 200)

Create an advancedqueue

Submitted bybarnettech onTue, 11/09/2021 - 17:04

Create an advancedqueue

create a file like advancedqueue.advancedqueue_queue.ipc_merge_sync.yml in modules/custom/ipc_syncdb/config/install

id: ipc_merge_sync
label: 'IPC Merge Sync'
backend: database
backend_configuration: {}
processor: cron
processing_time: 180
locked: true

then import it with drush cim --partial --source=/home/ipc/www/ipc/docroot/modules/custom/ipc_syncdb/config/install