Error parsererror 200

I've just started using phpmailer to send mail instead of the basic mail function. I've added the phpmailer function to an a... | PHP Programming

I’ve just
started using phpmailer to send mail instead of the basic mail function.

I’ve
added the phpmailer function to an ajax script to send a mail on a certain
event. The script works perfectly fine on its own, but as soon as I add
the phpmailer commands, I get an error:

«Error
— 200: parsererror»

It does
work — the mail gets sent, but I get this error.  I can ‘fix’ it by simply commenting out the following command:

The
calling code is:

JavaScript

    jQuery('#save-supplier').click(function(e){
        e.preventDefault();
          
        $('#save-supplier').html('<i class="fa fa-cloud"></i> Saving...');
                                      
        var formData = new FormData($('#edit-supplier-form')[0]);
          
        $.ajax({
            type: "POST",
            url: "./ajax/ajaxSendphpMail.php",
            data: formData,
            contentType: false,
            processData:false,
            cache: false,
			dataType: 'json',
            success: function(data) {
				$(location).attr("href", "supplier.php?supplier_code=<?php echo $supplier_code; ?>");
            },
            error: function(data){
                var errorMessage = data.status + ': ' + data.statusText;
                alert('Error - ' + errorMessage);
                $('#save-supplier').html('<i class="fa fa-save mr-5"></i> Save Changes');
            }
        });
      
        return false;
    });
});

and the
script with the phpmailer command is:

JavaScript

 	ob_start();
	session_start();
	require '../inc/_global/db_con.php';

	use PHPMailerPHPMailerPHPMailer;
	use PHPMailerPHPMailerSMTP;
	use PHPMailerPHPMailerException;
	require '/var/www/vhosts/compleit.com/vendor/autoload.php';

	try {
		$mail = new PHPMailer(true);

		//Server settings
		$mail->SMTPDebug = 0;
		$mail->isSMTP();
		$mail->Host       = 'mydomain.com';
		$mail->SMTPAuth   = true;
		$mail->Username   = 'smtp@mydomain.com';
		$mail->Password   = 'cAp$xxxYY';
		$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
		$mail->Port       = 587;

		//Recipients
		$mail->setFrom('myemail@mydomain.com');
		$mail->addAddress('johnsmith@mydomain.com');
		$mail->addReplyTo('donotreply@mydomain.com');

		// Content
		$mail->isHTML(true);
		$mail->Subject = 'test email';
		$mail->Body    = 'email body';
		$mail->AltBody = 'email body';

		$mail->send();
	} catch (Exception $e) {
		// no exception reporting - no need to know if email succeeded or failed
	}

Стала возникать такая ошибка, при нажатии на «Сохранить» при этом изменения сохраняются, но страница не перегружается.

Да и админка не корректно работает, при вводе нового товара, URL не прописывает сама, как до этого было, не происходят изменения при выборе категории товара, вообщем админка не подгружает данные.

35 ответов

  • популярные
  • новые


  • 1

    Смотрите лог в консоли браузера. Там должно быть описание ошибки.



  • 1

    Дмитрий, прошу прощения лог именно браузера или лог в скрипте?, если браузера использую мозилу, где тут это смотреть?



  • 1

    Консоль запустил, лог есть, понять бы его ещё …



    • +1

      Смотреть надо вкладку сеть — проблема в том, что js скрипту пришел ответ, которого он не ожидал (скорее всего это вывод ошибок или посторонний вывод данных) и по тексту можно понять в чем проблема.



      • +1

        Владислав, сможете в этом помочь, я просто не являюсь разработчиком или программистоми такого уровня проблемы без посторонней помощи не решу.



      • +1

        Вот что выдает вкладка «Сеть»: (жирным выделил что у меня красное, и это на примере одного действия)

        mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create d3.min.js:3:9494

        Синхронный XMLHttpRequest в основной нити является устаревшим из-за его пагубного влияния на работу конечного пользователя. Для получения дополнительной помощи обратитесь к http://xhr.spec.whatwg.org/ jquery-1.11.1.min.js:4:0

        Ошибка при парсинге значения «shape-rendering». Потерянное объявление. charts.css:168:19

        downloadable font: OS/2: bad linegap: -32 (font-family: «RedactorFont» style:normal weight:normal stretch:normal src index:0) source: data:application/x-font-ttf;charset=utf-8;base64,(тут много много букв)== redactor.css:8:12

        The object cannot be linked to the inspector without a toolbox console-output.js:3138:0

        The object cannot be linked to the inspector without a toolbox console-output.js:3138:0

        The object cannot be linked to the inspector without a toolbox console-output.js:3138:0

        The object cannot be linked to the inspector without a toolbox



      • +1

        А так выглядит если на сайте добавить товар в корзину,но это не увидишь пока не обновишь страницу:

        Этот сайт использует сертификат SHA-1; рекомендуется использовать сертификаты с алгоритмами подписи, использующими более сильные хеш-функции, чем SHA-1.[Подробнее] 23414332

        NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsITaskbarTabPreview.invalidate] WindowsPreviewPerTab.jsm:406:0

        NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsITaskbarTabPreview.invalidate] WindowsPreviewPerTab.jsm:406:0

        Этот сайт использует сертификат SHA-1; рекомендуется использовать сертификаты с алгоритмами подписи, использующими более сильные хеш-функции, чем SHA-1.[Подробнее]



        • +1

          Быстрый гуглинг говорит, что это бага FF, которая может быть обусловлена некорректным JS кодом (магазина, его плагинов, либо расширений FF) . Попробовать другой браузер/Обновить FF.



          • +1

            На фронтенде в FF тоже ответы ajax не обрабатываются. Кладешь в корзину — добавляется, но ничего не покажет, пока в рфреш не сделаешь. С удалением в корзине та же беда



          • +1

            а я в яндекс-браузере смотрел. Там такая же фигня ()



      • +1

        Проблема пока не решена, и что самое главное не понятно от куда она возникла.



        • +1

          JSON ответ приходит с BOM. Непонятно, откуда оно берется, только. Вот, например, ответ на добавление в корзину (собственно нам интересны в качестве подтверждения только первые два байта 0xFE 0xFF):

          feff7b227374[… тут много еще байтов, но они неважны …]7d

          У вас там нигде UTF-16 в конфигах не упоминается? У nginx или еще где?



          • +1

            Все пару дней назад работало и ничего я такого не делал, что бы могло вызвать такие последствия :(, магазин рабочий и не площадка для обкатывания новинок, то есть товары добавлялись, заказы оформлялись, конфиги такие же как и были ранее.



            • +1

              С кодом магазина ничего не делали?

              P.S. Там все ответы, в том числе и на GET приходят с BOM. Может, index.php правили?



                • +1

                  Сергей, нет, не влезал в код, ничего не менял.



          • +1

            BOM возникает, если отредактировать файл виндовым блокнотом.

            А искать не просто — проверить все файлы на эти самые байты в начале файлов (пора уже добавить утилиту поиска и исправления кривых рук :D )



            • +1

              Владислав, ничего блокнотом не редактировалось, в фаилы не лазили, единственное где были попытки добавить новое действие, но и потом все вернули в исходное состояние это фаил workflow.php

              workflow.php может причинить такие проблемы?



              • +1

                С workflow.php поиск и стоит начать



                • +1

                  но это один единственный фаил, с которым были в последнее время какие-то действия, перед изменениями он был сохранен, а потом был закачан обратно, то есть фаил в котором ничего не менялось, могла его закачка к такому привести?

                  Попробовал сейчас взять данный фаил вообще из нового магазина (свеже развернутого), залил, соответственно статусы заказов и действия теперь взялись из нового, но проблема не изчезла, поэтому вернул обратно родной.



  • 1

    Вот такой лог: (жирным выделено, то что у меня красным)

    «25.898 $.product.call» Array [ «editTabDescriptionsAction», Array[1], true ] shop.js:106:16

    downloadable font: OS/2: bad linegap: -32 (font-family: «RedactorFont» style:normal weight:normal stretch:normal src index:0) source: data:application/x-font-ttf;charset=utf-8;base64, (тут идет куча куча символов они в сообщение не влезают) == redactor.css:8:12

    «28.099 $.product.helper.checkChanges» Array [ Object, false ] shop.js:106:16

    «28.617 $.product.helper.checkChangesDelayed» Array [ <select>, true, undefined, «» ] shop.js:106:16

    «28.649 $.product.helper.checkChanges» Array [ Object, false ] shop.js:106:16

    The object cannot be linked to the inspector without a toolbox console-output.js:3138:0

    «28.875 $.product.helper.checkChanges» Array [ Object, false ] shop.js:106:16

    «29.158 $.product.helper.checkChangesDelayed» Array [ <textarea#s-product-summary>, true, «pe», «pepe» ] shop.js:106:16

    «29.161 $.product.onTabChanged id=descriptions changed=true» undefined shop.js:106:16

    The object cannot be linked to the inspector without a toolbox console-output.js:3138:0

    «29.419 $.product.helper.checkChangesDelayed» Array [ <select>, true, undefined, «» ] shop.js:106:16

    «29.420 $.product.helper.checkChanges» Array [ Object, false ] shop.js:106:16

    The object cannot be linked to the inspector without a toolbox console-output.js:3138:0

    «29.923 $.product.helper.checkChangesDelayed» Array [ <textarea#s-product-summary>, true, «pe», «pepe» ] shop.js:106:16

    «29.925 $.product.onTabChanged id=descriptions changed=true» undefined shop.js:106:16

    The object cannot be linked to the inspector without a toolbox console-output.js:3138:0

    «30.602 $.product.helper.checkChanges» Array [ Object, false ] shop.js:106:16

    «30.829 $.product.call» Array [ «editTabDescriptionsSave», Array[0], false ] shop.js:106:16

    «30.830 $.product.saveData(profile,null)» undefined shop.js:106:16

    «31.114 $.product.helper.checkChangesDelayed» Array [ <select>, true, undefined, «» ] shop.js:106:16

    «31.116 $.product.helper.checkChanges» Array [ Object, false ] shop.js:106:16

    The object cannot be linked to the inspector without a toolbox console-output.js:3138:0

    «31.627 $.product.helper.checkChangesDelayed» Array [ <textarea#s-product-summary>, true, «pe», «pepe» ] shop.js:106:16

    «31.630 $.product.onTabChanged id=descriptions changed=true» undefined shop.js:106:16

    The object cannot be linked to the inspector without a toolbox



  • 1

    Попытка завести новый товар: (жирным то что у меня красное)

    «470.612 $.product.onNameChange stop undefined != » undefined shop.js:106:16

    SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data jquery-1.11.1.min.js:4:15731

    «470.736 $.product.helper.checkChanges» Array [ Object, false ] shop.js:106:16

    «470.738 $.product.onNameChange stop undefined != » undefined shop.js:106:16

    «471.246 $.product.helper.checkChangesDelayed» Array [ <input.long.bold.s-product-name-input>, true, «», «123» ] shop.js:106:16

    «471.249 $.product.helper.checkChanges» Array [ Object, false ] shop.js:106:16

    The object cannot be linked to the inspector without a toolbox console-output.js:3138:0

    «471.755 $.product.helper.checkChangesDelayed» Array [ <input.long.bold.s-product-name-input>, true, «», «123» ] shop.js:106:16

    «471.757 $.product.onTabChanged id=main changed=true» undefined shop.js:106:16

    The object cannot be linked to the inspector without a toolbox console-output.js:3138:0

    «473.433 $.product.helper.checkChanges» Array [ Object, false ] shop.js:106:16

    «473.438 $.product.onNameChange stop undefined != » undefined shop.js:106:16

    «473.944 $.product.helper.checkChangesDelayed» Array [ <input.long.bold.s-product-name-input>, true, «», «123» ] shop.js:106:16

    «473.945 $.product.helper.checkChanges» Array [ Object, false ] shop.js:106:16

    The object cannot be linked to the inspector without a toolbox console-output.js:3138:0

    «474.451 $.product.helper.checkChangesDelayed» Array [ <input.long.bold.s-product-name-input>, true, «», «123» ] shop.js:106:16

    «474.452 $.product.onTabChanged id=main changed=true» undefined shop.js:106:16

    The object cannot be linked to the inspector without a toolbox



  • 1

    Ввод нового статуса заказ: (жирным что красное)

    NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN: Cannot modify properties of a WrappedNative autocomplete.xml:927:0

    «{«status»:»ok»,»data»:{«id»:»kurer»,»new_id»:»kurer»,»add»:true}}»



  • 1

    киньте на inohacker@yandex.ru доступ в админку, гляну что там.

    Если успеете кинуть сегодня в течении пары часов — гляну сегодня, либо уже завтра ночью.



    • +1

      Ребят, кто шарит, помогите человеку.

      Я глянул, но моей компетенции не хватает на это =(



  • 1

    Выяснилось что ещё и товар положенный в корзину на сайте, нельзя от туда удалить, перестало все работать, что происходит так сказать «онлайн», все то что самостоятельно перегружает страницу. Попытался объяснить своими словами :)



  • 1

    Вопрос не решен. Помогите.



  • 2

    Проблема решена платным обращение к службе поддержки. Цитата из их ответа «Да, действительно в php-файлах встречался символ BOM, он появляется при попытке редактирования php-файлов, например, с помощью стандартного Блокнота в Windows, который оставляет его по умолчанию. Используйте, например, Notepad++ для этих целей, тогда таких проблем не будет.» Далее они произвели действия и проблема исчезла.



  • 1

    Всё работало, ничего не делали ни в файлах, ни в магазине. Сегодня полез отредактировать товар и вылезла эта фигня. В принципе всё работает, но чтобы это увидеть, надо обновить страницу. Некорректно работает текстовый редактор… списки режет, картинку закачивает в товар, но с такой ерундой



    • +1

      Вот что случилось, если ничего не трогали? Кэш не очищается… точнее визуально лоадинг висит и висит и так по всему скрипту



      • +1

        Вместо кнопки «Сохранить» Комментарий к картинке товара, появилась кнопка «Save». Может настройки сбились где? В этих скриптах так бывает… Но где и что?



  • 1

    Такая же проблема, причём у двух магазинов, в настройках ничего не меняли. Где копать?

Добавить ответ

Я использую jason_encode в файле php_ajax, но у меня появляется сообщение об ошибке в консоли «Ошибка Ajax: 200 parsererror», можете ли вы просмотреть мой код? У меня есть один файл индекса, который показывает сообщение о состоянии во время выполнения с помощью ajax и jason, это мой файл ajax, который отправляет true и false моему индексу с сообщением об ошибке, если существует, иначе он показывает сообщение ok, если каждая проверка идет хорошо.

$validateValue=$_REQUEST['fieldValue'];
$validateId=$_REQUEST['fieldId'];

$emailaddress = $validateValue;

$validateError= "email is not correct";
$validateSuccess= "email is correct";


$arrayToJs = array();  // creating array
$arrayToJs[0] = $validateId;  
$arrayToJs[1] = $validateId;

if($numrow > 0)  // where $numrow is getting data from database.

    //if($validateValue !=="[email protected]")  // this check can also be used
        {       // validate??
            for($x=0;$x<1000000;$x++){
                if($x == 990000){
                    $arrayToJs[1] = false;                      
                    echo json_encode($arrayToJs);       // RETURN ARRAY WITH ERROR
                    //return false;
                }
            }
        }
        else
        {
            $arrayToJs[1] = true;           // RETURN TRUE
            echo json_encode($arrayToJs);           // RETURN ARRAY WITH success
    ## Check for the ggg mail       
        }

        if($validateValue == "[email protected]")       
    //check the second check
        {       // validate??
            for($x=0;$x<1000000;$x++){
                if($x == 990000){
                    $arrayToJs[2] = false;                      
                    echo json_encode($arrayToJs);       // RETURN ARRAY WITH ERROR
                    //return false;
                }
            }
        }
        else
        {
            $arrayToJs[2] = true;           // RETURN TRUE
            echo json_encode($arrayToJs);           // RETURN ARRAY WITH success

        }

Hello @rpetrache

That seems more a Stripe plugin error, and not related to our plugin, see here. Do you have the stack trace of the error? You could see that under WooCommerce > Status > Logs > Fatal errors.

Thread Starter
Robert

(@rpetrache)

Hello and thanks for your reply! I’ve spoken with Stripe guys and they’ve told me everything is OK on their side. They received the payment so they pointed me to you since in the fatal error it’s mentioned woocommerce-gateway-stripe

This is the log message (I’ve replaced domain path with /domain.path/):

2022-07-31T14:07:19+00:00 CRITICAL Uncaught Error: Call to a member function get_upe_enabled_payment_method_ids() on null in /domain.path/wp-content/plugins/woocommerce-gateway-stripe/woocommerce-gateway-stripe.php:664
Stack trace:
#0 /domain.path/wp-includes/class-wp-hook.php(309): WC_Stripe->checkout_update_email_field_priority(Array)
#1 /domain.path/wp-includes/plugin.php(191): WP_Hook->apply_filters(Array, Array)
#2 /domain.path/wp-content/plugins/woocommerce/includes/class-wc-countries.php(1616): apply_filters('woocommerce_bil...', Array, 'RO')
#3 /domain.path/wp-content/plugins/kadence-woo-extras/lib/checkout_editor/kt-checkout-editor.php(831): WC_Countries->get_address_fields('RO', 'billing_')
#4 /domain.path/wp-content/plugins/kadence-woo-extras/lib/checkout_editor/kt-checkout-editor.php(198): kt_checkout_editor->get_fields('billing')
#5 /domain.path/wp-includes/class-wp-hook.php(307): kt_checkout_editor->order_billing_address_details_on_account_page('Client Name<br/...', Array, Object(AutomatticWooCommerceAdminOverridesOrder))
#6 /domain.path/wp-includes/plugin.php(191): WP_Hook->apply_filters('Lea Sabotic<br/...', Array)
#7 /domain.path/wp-content/plugins/woocommerce/includes/class-wc-order.php(929): apply_filters('woocommerce_ord...', 'Client Name<br/...', Array, Object(AutomatticWooCommerceAdminOverridesOrder))
#8 /domain.path/wp-content/plugins/kadence-woocommerce-email-designer/templates/woo/emails/email-addresses.php(31): WC_Order->get_formatted_billing_address()
#9 /domain.path/wp-content/plugins/woocommerce/includes/wc-core-functions.php(345): include('/home/antivirus...')
#10 /domain.path/wp-content/plugins/woocommerce/includes/class-wc-emails.php(589): wc_get_template('emails/email-ad...', Array)
#11 /domain.path/wp-includes/class-wp-hook.php(309): WC_Emails->email_addresses(Object(AutomatticWooCommerceAdminOverridesOrder), false, false)
#12 /domain.path/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters(NULL, Array)
#13 /domain.path/wp-includes/plugin.php(476): WP_Hook->do_action(Array)
#14 /domain.path/wp-content/plugins/kadence-woocommerce-email-designer/templates/woo/emails/customer-note.php(62): do_action('woocommerce_ema...', Object(AutomatticWooCommerceAdminOverridesOrder), false, false, Object(WC_Email_Customer_Note))
#15 /domain.path/wp-content/plugins/woocommerce/includes/wc-core-functions.php(345): include('/home/antivirus...')
#16 /domain.path/wp-content/plugins/woocommerce/includes/wc-core-functions.php(364): wc_get_template('emails/customer...', Array, '', '')
#17 /domain.path/wp-content/plugins/woocommerce/includes/emails/class-wc-email-customer-note.php(128): wc_get_template_html('emails/customer...', Array)
#18 /domain.path/wp-content/plugins/woocommerce/includes/emails/class-wc-email.php(545): WC_Email_Customer_Note->get_content_html()
#19 /domain.path/wp-content/plugins/woocommerce/includes/emails/class-wc-email-customer-note.php(107): WC_Email->get_content()
#20 /domain.path/wp-includes/class-wp-hook.php(307): WC_Email_Customer_Note->trigger(Array)
#21 /domain.path/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters('', Array)
#22 /domain.path/wp-includes/plugin.php(524): WP_Hook->do_action(Array)
#23 /domain.path/wp-content/plugins/woocommerce/includes/class-wc-emails.php(170): do_action_ref_array('woocommerce_new...', Array)
#24 /domain.path/wp-includes/class-wp-hook.php(307): WC_Emails::send_transactional_email(Array)
#25 /domain.path/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters('', Array)
#26 /domain.path/wp-includes/plugin.php(476): WP_Hook->do_action(Array)
#27 /domain.path/wp-content/plugins/woocommerce/includes/class-wc-order.php(1751): do_action('woocommerce_new...', Array)
#28 /domain.path/wp-content/plugins/woocommerce/includes/class-wc-ajax.php(1513): WC_Order->add_order_note('Hello Lea,nnYou...', 1, true)
#29 /domain.path/wp-includes/class-wp-hook.php(307): WC_AJAX::add_order_note('')
#30 /domain.path/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters('', Array)
#31 /domain.path/wp-includes/plugin.php(476): WP_Hook->do_action(Array)
#32 /domain.path/wp-admin/admin-ajax.php(187): do_action('wp_ajax_woocomm...')
#33 {main}
  thrown in /domain.path/wp-content/plugins/woocommerce-gateway-stripe/woocommerce-gateway-stripe.php on line 664
  • This reply was modified 6 months, 2 weeks ago by Robert.

Hi @rpetrache

The error doesn’t seem related to our plugin but with the WooCommerce Stripe Payment Gateway plugin instead. I think you already reported this same issue there and they provided you some sort of temporary solution here.

Понравилась статья? Поделить с друзьями:
  • Error log empty
  • Error log apache2 debian
  • Error log apache где находится
  • Error log apache linux
  • Error loco translate failed to start up