所以我开始犯这个错误并且不明白为什么:
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>
编辑:更新了适合建议的代码。仍然没有工作 EDIT2:发现错误x.x
答案 0 :(得分:2)
编辑:我在发布整个代码示例之前提供了此答案。其中一些仍然相关。
我认为您错误地定义了回调函数。它们应该是一个功能对象;就像他们一样,他们正在立即执行。尝试:
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中提出的一些浏览器已经支持的模板语法的一部分。
答案 1 :(得分: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>');
}