2015-03-10 5 views
0

Так что я получаю эту ошибку и не имеет ни малейшего представления, почему:jQuery.ajax Uncaught SyntaxError: Неожиданный идентификатор

jQuery.ajax Uncaught SyntaxError: Unexpected identifier 

Я пытаюсь разобрать какую-то информацию о клиенте в другой файл, который находится в главном каталоге FTP-сервера под названием «pricealarm.php»

<script type="text/javascript"> 
jQuery(document).ready(function() { 
    jQuery("#pricealarm-fakeSubmit").click(function(){ 
     if (jQuery('input[name="pa[offer]"]').val().length > 0 && jQuery('input[name="pa[email]"').val().length > 0 && jQuery('input[name="pa[name]"').val().length > 0 && jQuery('input[name="c_mac"]').val().length > 2) { 

     //Parsing der Eingegebenen Information in die Datenbank (eigentliches Prozedere in pricealarm.php) 
     var parse = { 
      currency: jQuery('input[name="pa[currency]"]').val(), 
      price: jQuery('input[name="pa[price]"]').val(), 
      offer: jQuery('input[name="pa[offer]"]').val(), 
      email: jQuery('input[name="pa[email]"]').val(), 
      phone: jQuery('input[name="pa[phone]"]').val(), 
      name: jQuery('input[name="pa[name]"]').val(), 
      product: jQuery('input[name="pa[product]"]').val(), 
      variant: jQuery('input[name="pa[variant]"]').val(), 
      productID: jQuery('input[name="pa[productID]"]').val(), 
      oxArtID: jQuery('input[name="pa[oxArtID]"]').val(), 
      shopID: jQuery('input[name="pa[shopID]"]').val() 
     }; 

     jQuery.ajax(
     { 
      type: 'POST', 
      url: 'pricealarm.php', 
      data: parse, 

      success: function() {console.info(parse) }, 

      error: function() {console.info('pricealarm couldnt parse the data')} 
     }); 
     return false; 
    } 
    else{ 
     jQuery('#pricealarm-fakeSubmit')after('<span class="js-oxError_notEmpty">[{ oxmultilang ident="ERROR_MESSAGE_INPUT_NOTALLFIELDS" }]</span>'); 
    }   
    }); 
    }); 
</script> 

EDIT: Обновлен код в соответствии с предложениями. Еще не работает EDIT2: обнаружена ошибка x.x

+0

вы получаете эту ошибку в PHP? в этом случае - покажите нам, что код – k102

+0

@ k102 нет. Это ошибка JavaScript. – zeropublix

ответ

1

Я нашел ошибку себя:

else{ 
    jQuery('#pricealarm-fakeSubmit')after('<span class="js-oxError_notEmpty">[{ oxmultilang ident="ERROR_MESSAGE_INPUT_NOTALLFIELDS" }]</span>'); 
} 

пропускал . перед тем after

else{ 
    jQuery('#pricealarm-fakeSubmit').after('<span class="js-oxError_notEmpty">[{ oxmultilang ident="ERROR_MESSAGE_INPUT_NOTALLFIELDS" }]</span>'); 
} 
+0

Вы также не видите закрывающие скобки в выражении, если выражение 'jQuery ('input [name =" pa [email] "')' должно быть 'jQuery ('input [name =" pa [email] "]') '. То же самое для имен выражений и c_mac. – Peter

2

EDIT: Я предоставил этот ответ до того, как был отправлен весь образец кода. Некоторые из них по-прежнему актуальны.


Я думаю, что вы неправильно определили свои функции обратного вызова. Они должны быть функциональным объектом; как они есть, они выполняются сразу. Попробуйте:

jQuery.ajax({ 
     type: 'POST', 
     url: 'pricealarm.php', 
     data: parse, 
     success: function() { 
      console.info(parse); 
     }, 
     error: function() { 
      console.info('pricealarm couldn`t parse the data'); 
     } 
    }); 

Кроме того, убедитесь, что вы используете браузер, который понимает console.info. Кроме того - и это мое личное предпочтение - использовать новые методы JQuery Promise для обратных вызовов:

jQuery.ajax({ 
     type: 'POST', 
     url: 'pricealarm.php', 
     data: parse, 
    }).done(function() { 
     console.info(parse); 
    }).fail(function() { 
     console.info('pricealarm couldn`t parse the data'); 
    }); 

И, наконец, я не совсем уверен в этом, но кавычка (`) в строке ошибки могут вызывать проблемы. Они являются частью синтаксиса шаблонов, предложенного в ECMAScript 6, который некоторые браузеры уже поддерживают.

+0

Извините, это не было предназначено. Он должен быть там! –

+0

Я обновил свой код. Все еще не работает – zeropublix

+0

Можете ли вы предоставить больше контекста для своего кода? Покажите полный метод, в котором он работает, где он существует на вашей странице и т. Д. –

Смежные вопросы