Tôi đang cố gắng thêm một bài đăng jQuery vào một số JavaScript trên một trang web. Toàn bộ trang được tạo thành từ một số mẫu Velocity. Tất cả mọi thứ đã tốt đẹp cho đến khi tôi đã cố gắng để thêm bài jQuery, bây giờ tôi nhận được:Vận tốc - Làm thế nào để tránh ParseErrorException khi sử dụng jQuery?
org.apache.velocity.exception.ParseErrorException: Encountered "," at line 282, column 24 of /WEB-INF/velocity/www/comments.vm
Was expecting one of:
"(" ...
<RPAREN> ...
<ESCAPE_DIRECTIVE> ...
~~~snip~~~
Đường dây 282 là $.post(...
và cột 24 dường như là người đầu tiên "" nhân vật. Ban đầu tôi đã có JSON trên dòng này, nhưng tôi đã chuyển nó lên (đến dòng var myJSONObject ...
) vì tôi nghĩ rằng lỗi liên quan đến JSON không hợp lệ (các tab ở đầu dòng đã đưa ra một số cột gây hiểu lầm).
var myJSONObject = {"body": "", "action": "postcomment", "submitted": "true", "ajax": "true"};
myJSONObject.body = $("body").val();
$.post("$!{articleurl}", myJSONObject, function(result){
btn.textContent='Comment sent successfully.';
});
nhỏ Cập nhật
Tôi đã thay đổi dòng sau:
var url = "$articleurl";
$.post(url, myJSONObject, function(result){
~~~snip~~~
Ngoại lệ phân tích vẫn tập trung vào ngày đầu tiên ",". Tôi giả định vấn đề là Velocity nghĩ rằng nó sẽ có thể giải quyết $ .post - khi thực tế, đó là jQuery. Tôi đã sử dụng jQuery trong các mẫu VM Velocity khác mà không có bất kỳ vấn đề gì. Có cách nào để có được Velocity để bỏ qua một số dòng/báo cáo khi phân tích cú pháp?
Cập nhật 2
tôi thấy this link về thoát tài liệu tham khảo trong Velocity, nhưng nó không giải quyết được vấn đề của tôi. Thêm "\" trước $.post
mang lại cho tôi cùng một lỗi chính xác, nhưng cột là một phụ, vì ký tự được thêm ở đầu dòng.
+1 Cảm ơn. :) Bây giờ tôi cần kiểm tra phiên bản tôi đang sử dụng. – Mikaveli
Nhược điểm khác của điều này là bạn sẽ nhận thấy tôi sử dụng một vài biến Velocity trong kịch bản. – Mikaveli
@Mikaveli Tôi thường khởi tạo tất cả các biến js đến từ vận tốc trong một khối tập lệnh được tách riêng ở trên. – serg