Задача состоит в проверке определенного идентификатора, который новый клиент вводит в поле ввода текста HTML во время регистрации. Новому клиенту разрешается регистрироваться только в том случае, если в поле ввода 5 номеров, а номер передан существующему участнику (также должно появиться окно с предупреждением).
Так что это в моем .js
файле. Следующий параметр reg_sub
является значением ввода от пользователя.
function checkSubscriberIdValidation( reg_sub )
{
if( reg_sub.length == 5)
{
console.log(reg_sub);
jQuery.ajax({
url: specialStrings.ajax_url,
type: "GET",
data: ({action: 'checkCUID', cuID: reg_sub}),
success: function(result){
console.log(result);
},
error: function(e){
console.log(e);
});
}
}
Я пытаюсь вызвать следующий код из файла с именем: checkCUID.php
<?php
if( isset($_GET['cuID']) )
{
if(!defined("ABSPATH")){
define( 'ABSPATH', $_SERVER['DOCUMENT_ROOT'].'/');
}
try
{
require_once dirname(__FILE__).'/../library.php';
$service = Company::getService('CustomerService');
$response = $service->validateCUID($_GET['cuID']);
if($response == false)
{
return;
{
else
{
echo '0';
}
}
catch(Exception $e)
{
echo $e->getMessage();
}
}
else
{
echo '0';
}
Итак, функция validateCUID();
работает, потому что я также тестирую ее с помощью SOAP UI и всегда получаю истинное значение (если я вставлю действительный идентификатор).
Итак, это мой ответ в консоли (число и ошибка GET 400):
99999
GET https://domain.de/wp-admin/admin-ajax.php?action=checkCUID&cuID=99999 400
Я пытался вставить в:
jQuery.ajax({
contentType: "application/json; charset=utf-8",
dataType: "json",
})
но теперь я получил ошибку:
Access to XMLHttpRequest at 'https://domain.de/wp-admin/admin-ajax.php?action=checkCUID&cuID=99999' from origin 'http://domain.de' has been blocked by CORS policy: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response.
Я попытался изменить content-type
на text/html
, как показано в admin-ajax.php
. Я увидел, что исходный домен начинается с http , а не с https , и проверил home
и siteurl
в phpMyAdmin , и это https там.
Кто-нибудь знает решение? Мое предположение: мой код - дерьмо, я все еще учусь, и я так устал. Мне очень жаль за этот длинный выпуск ^^!