【问题标题】:JQuery form API throwing the error Unexpected token (JQuery 表单 API 抛出错误 Unexpected token (
【发布时间】:2017-02-08 17:46:27
【问题描述】:

我正在使用 jquery 和 jquery 表单 API 通过 PHP 上传图片, 当我为 jquery 表单 API 使用回调匿名函数时,它不断在每个匿名函数上抛出这个错误,

Uncaught SyntaxError: Unexpected token (

我什至不能在这段代码中使用任何其他 jquery 函数, 也许如果我修复了这个错误,它会起作用,

我的代码是

$(function() {
  // bind 'myForm' and provide a simple callback function 
  $('#myForm').ajaxForm(function() {
    beforeSend: function() {
      alert('before send');
      $('#form-asset-create').validate();
    },
    uploadProgress: function() {},
    success: function() {},
    compile: function() {}
  });
  $(".card").hide();
});

【问题讨论】:

  • 你的语法有错误,你不应该使用function ()作为ajaxForm的第一个参数。如果你使用一个函数,你在里面使用语句,beforeSend: function() {... 不是语句是对象的一部分。
  • 实际上我只从 JQuery 表单 API 文档页面中获取了该语法:o
  • 你能提供链接吗?你所拥有的没有有效的javascript。甚至无法解析。
  • 功能不完整,例如 beforeSend: 的文档,我尝试使用它,
  • 您在复制时出错,您的代码几乎没问题,只需在ajaxForm( 之后删除function () 即可。请参阅 mplungjan 答案。您作为参数传递给该函数的是function() { beforeSend: ... },这是没有意义的。要成为有效的 js,你要么传递一个函数,要么传递一个对象,你给它一个内部包含无效 js 代码的函数。即使你更正了函数内部的代码,它也是有效的 js 而不是函数代码,因为 ajaxForm( 需要一个对象作为参数而不是函数。

标签: javascript jquery ajax ajaxform jqueryform


【解决方案1】:

您应该将带有配置选项的对象字面量传递给 ajaxForm 而不是函数。

$(function() {
  // bind 'myForm' and provide a simple callback function 
    $('#myForm').ajaxForm({
    beforeSend: function() {
      alert('before send');
      $('#form-asset-create').validate();
    },
    uploadProgress: function() {},
    success: function() {},
    compile: function() {}
  });
  $(".card").hide();
});

【讨论】:

  • 我想显示上传图片的进度,因为我需要这些功能
  • 该卡片是进度条,用于调用任何函数
  • 卡无所谓。问题是您将函数传递给 ajaxForm 而不是对象 - 您有 $('#myForm').ajaxForm(function() {...}); 但需要 $('#myForm').ajaxForm({ ... });
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-13
  • 2018-03-08
  • 2017-05-02
  • 1970-01-01
  • 2021-06-23
  • 2017-04-02
相关资源
最近更新 更多