ajaxfileupload上传文件和报错syntaxerror: Unexpected end of input(…)

简介: ajaxfileupload上传文件和报错syntaxerror: Unexpected end of input(…)

jQuery插件AjaxFileUpload可以实现ajax文件上传,下载地址:http://www.phpletter.com/contents/ajaxfileupload/ajaxfileupload.js

主要参数说明:

1,url表示处理文件上传操作的文件路径,可以测试URL是否能在浏览器中直接访问,如上:upload.php

2,fileElementId表示文件域ID,如上:fileToUpload

3,secureuri是否启用安全提交,默认为false

4,dataType数据数据,一般选json,javascript的原生态

5,success提交成功后处理函数

6,error提交失败处理函数

需要了解相关的错误提示

1,SyntaxError: missing ; before statement错误

如果出现这个错误就需要检查url路径是否可以访问

2,SyntaxError: syntax error错误

如果出现这个错误就需要检查处理提交操作的PHP文件是否存在语法错误

3,SyntaxError: invalid property id错误

如果出现这个错误就需要检查属性ID是否存在

4,SyntaxError: missing } in XML expression错误

如果出现这个错误就需要检查文件域名称是否一致或不存在

5,其它自定义错误

大家可使用变量$error直接打印的方法检查各参数是否正确,比起上面这些无效的错误提示还是方便很多。

示例代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type"content="text/html; charset=utf-8"/>

<title>ajaxfileupload图片上传控件</title>

</head>

<script type="text/javascript"src="http://code.jquery.com/jquery-1.6.3.min.js"></script>

<script type="text/javascript"src="http://www.phpletter.com/contents/ajaxfileupload/ajaxfileupload.js"></script>

<script language="javascript">

  jQuery(function(){   

      $("#buttonUpload").click(function(){     

         //加载图标   

         /* $("#loading").ajaxStart(function(){

            $(this).show();

         }).ajaxComplete(function(){

            $(this).hide();

         });*/

          //上传文件

        $.ajaxFileUpload({

            url:'upload.php',//处理图片脚本

            secureuri :false,

            fileElementId :'fileToUpload',//file控件id

            dataType : 'json',

            success : function(data, status){

                if(typeof(data.error) != 'undefined'){

                    if(data.error != ''){

                        alert(data.error);

                    }else{

                        alert(data.msg);

                    }

                }

            },

            error: function(data, status, e){

                alert(e);

            }

    })

    returnfalse;

      }) 

  })

 

</script>

 

 

<body>

<input id="fileToUpload"type="file"size="20"name="fileToUpload"class="input">

<button id="buttonUpload">上传</button>

<!--<img id="loading"src="loading.jpg"style="display:none;">-->

</body>

</html>

后台代码就不贴出来了,按照平常文件上传,取$_FILES数据就行

下面是一个碰到的重点问题!

请注意:ajaxfileupload的ajax,在浏览器可能显示不出来的(本人这边显示不出,其他不清楚)

所以,当出错时,你会一直以为出错在前端!!!

报错为  syntaxerror: Unexpected end of input(…)


image.png

如果发现这个错误!请去后台查找问题,该输出的输出,不能不输出内容,内容要为json数据!

目录
相关文章
|
关系型数据库 MySQL 数据库
|
12月前
|
设计模式 监控 数据库
代理模式(Proxy Pattern)
代理模式(Proxy Pattern)是一种设计模式,通过一个中间对象(代理)来间接访问目标对象,以控制访问权限或添加额外功能。常见的代理类型包括远程代理、虚拟代理、保护代理和智能引用代理。代理模式常用于延迟加载、权限控制、日志记录等场景,能够提高系统的灵活性和安全性。
|
Java 关系型数据库 MySQL
Java中文乱码浅析及解决方案
Java中文乱码浅析及解决方案
|
缓存 NoSQL 关系型数据库
mysql和缓存一致性问题
本文介绍了五种常见的MySQL与Redis数据同步方法:1. 双写一致性,2. 延迟双删策略,3. 订阅发布模式(使用消息队列),4. 基于事件的缓存更新,5. 缓存预热。每种方法的实现步骤、优缺点均有详细说明。
454 3
|
JSON Java API
谷粒商城笔记+踩坑(7)——新增商品,请求参数转vo类
效果展示、配置、启动会员模块、获取当前分类关联的品牌(不用分页)、获取当前分类下的分组及其关联的属性、新增商品、添加复合配置、限制内存、报错loadbalancer解决
谷粒商城笔记+踩坑(7)——新增商品,请求参数转vo类
|
JavaScript
vue中watch监听路由传来的参数变化问题
vue中watch监听路由传来的参数变化问题
505 0
|
域名解析 缓存 监控
安装zabbix时报错Could not resolve host: mirrors.huaweicloud.com;Unknown error解决办法
安装zabbix时报错Could not resolve host: mirrors.huaweicloud.com;Unknown error解决办法
|
存储 搜索推荐 数据建模
(下)原理都懂,就是不会建模?来,顶尖数据模型走一波
(下)原理都懂,就是不会建模?来,顶尖数据模型走一波
|
XML 安全 Java
Spring Security漏洞防护—HttpFirewall和 HTTPS
Spring Security漏洞防护—HttpFirewall和 HTTPS
627 0