400 неверных запросов, несмотря на правильную обработку запросов - PullRequest
0 голосов
/ 05 мая 2019

У меня проблемы с получением AJAX-запроса на работу.Из этого более раннего потока выясняется, что обработчик запросов и перехватчики для регистрации обработчика не являются проблемой: Wordpress: Ajax-запросы регистрируют 400 неверных запросов на консоль

Фреймворк (wordpress) действительно отправляет ajaxзапросы (к одной и той же цели) с парой сердцебиения к / в каждую минуту или около того.Я скопировал мой неверный запрос и один из этих хороших запросов из ядра ниже.Что торчит, так это заголовок ответа text / html в моем.Может ли это привести к плохому REQUEST ?Если нет, то что еще может вызвать это?


Заголовки запросов

// my bad request. Error code 400 "BAD REQUEST"
Request URL:http://localhost/wptest2/wp-admin/admin-ajax.php
Request method:POST
Remote address:127.0.0.1:80
Status code: 400
Version:HTTP/1.1

Response headers (177 B)    
Raw headers
Connection  close
Content-Length  165
Content-Type    text/html; charset=UTF-8
Date    Sun, 05 May 2019 04:58:48 GMT
Server  Apache/2.4.29 (Ubuntu)

Request headers (1.030 KB)  
Raw headers
Accept    application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language  en-US,en;q=0.5
Connection  keep-alive
Content-Length  30
Content-Type    application/json
Cookie    wordpress_69cb7e12fdbb27dfb560…2-1ebb-4ab4-ba67-14f7be9e4c98
Host    localhost
Referer http://localhost/wptest2/wp-ad…-general.php?page=fvc-settings
User-Agent  Mozilla/5.0 (X11; Ubuntu; Linu…) Gecko/20100101 Firefox/66.0
X-Requested-With    XMLHttpRequest


// A working request done automatically every minute or two by wordpress core
Request URL:http://localhost/wptest2/wp-admin/admin-ajax.php
Request method:POST
Remote address:127.0.0.1:80
Status code: 200
Version:HTTP/1.1

Response headers (605 B)    
Raw headers
Cache-Control     no-cache, must-revalidate, max-age=0
Connection  Keep-Alive
Content-Length   423
Content-Type     application/json; charset=UTF-8
Date    Sun, 05 May 2019 04:59:46 GMT
Expires Wed, 11 Jan 1984 05:00:00 GMT
Keep-Alive    timeout=5, max=100
Referrer-Policy strict-origin-when-cross-origin
Server  Apache/2.4.29 (Ubuntu)
X-Content-Type-Options  nosniff
X-Frame-Options SAMEORIGIN
X-QM-overview-memory    7,444 kB
X-QM-overview-memory_usage  5.7% of 131,072 kB limit
X-QM-overview-time_taken    0.5868
X-QM-overview-time_usage    2.0% of 30s limit
X-Robots-Tag    noindex

Request headers (1.062 KB)  
Raw headers
Accept    application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Connection  keep-alive
Content-Length  99
Content-Type    application/x-www-form-urlencoded; charset=UTF-8
Cookie    wordpress_69cb7e12fdbb27dfb560…2-1ebb-4ab4-ba67-14f7be9e4c98
Host    localhost
Referer http://localhost/wptest2/wp-ad…-general.php?page=fvc-settings
User-Agent  Mozilla/5.0 (X11; Ubuntu; Linu…) Gecko/20100101 Firefox/66.0
X-Requested-With    XMLHttpRequest

Ajax Calls

Конечно, я проверяю только по одному за раз.

jQuery(document).ready(function() {
      jQuery('#previousButton').click(function() {
        jQuery.ajax({
          type: "POST",
          url: ajaxurl,
          headers : {
            'Content-Type' : 'application/json'
          },
          dataType: "json",
          action: "selectTargetsWithOffset",
          data: {
            action: "selectTargetsWithOffset",
          },
          success: function() {
            console.log(response, `=====response from $.ajax}=====`);
          }
        });

      });

1 Ответ

0 голосов
/ 07 мая 2019

При первом взгляде на ваш вопрос я подумал, что ваша проблема, возможно, связана с форматированием - большая часть вашего файла выглядит «закомментированной». Если комментирование является преднамеренным [и не является ошибкой в ​​сообщении SO], я предлагаю вам начать с создания резервной копии файла , а затем удалить все ненужные части файла.

Тогда:

  1. Очистить ваши куки; недействительные / истекшие файлы cookie сеанса могут иногда вызывать ошибку 400.

  2. проверьте, что URL, к которому вы обращаетесь, в порядке (нет орфографических ошибок и т. Д.)

  3. Убедитесь, что размер файла, который вы отправляете, достаточно мал, чтобы быть принятым. слишком большие файлы могут быть отклонены сервером с ошибкой 400

Обязательно проверьте ваш файл на наличие ошибок форматирования и специальных символов. (почему ;q=0.01 до Accept-Encoding?)

Надеюсь, это поможет.

P.S. Вы можете найти эту статью полезной

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...