首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

用jQuery Ajax 上传图片显示“上传失败,异常信息:SyntaxError:语法异常

2012-04-28 
求助:用jQuery Ajax 上传图片显示“上传失败,错误信息:SyntaxError:语法错误问题,如标题所述,有时显示“上传

求助:用jQuery Ajax 上传图片显示“上传失败,错误信息:SyntaxError:语法错误
问题,如标题所述,有时显示“上传失败,错误信息:SyntaxError:拒绝访问”.

代码如下:(HTML页)

<script type="text/javascript" src="../js/singleupload.js"></script>
<script type="text/javascript" src="../js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="../js/jquery.validate.min.js"></script>


 <asp:TextBox ID="txtImgUrl" runat="server" CssClass="input w380 left"></asp:TextBox>
  <a href="javascript:void(0);" class="files"><input type="file" id="FileUpload" name="FileUpload" /></a>
  <span class="uploading">正在上传,请稍候...</span>


(singleupload.js页)

$(function() {
  $("#FileUpload").bind("change", function() {
  //开始提交
  $("#form1").ajaxSubmit({
  beforeSubmit: function(formData, jqForm, options){
  //隐藏上传按钮
  $(".files").hide();
  //显示LOADING图片
  $(".uploading").show();
  },
  success: function(data, textStatus) {
  if (data.msg == 1) {
  $("#txtImgUrl").val(data.msbox);
  } else {
  alert(data.msbox);
  }
  $(".files").show();
  $(".uploading").hide();
  },
  error: function(data, status, e) {
  alert("上传失败,错误信息:" + e);
  $(".files").show();
  $(".uploading").hide();
  },
  url: "../../Tools/SingleUpload.ashx",
  type: "post",
  dataType: "json",
  timeout: 600000
  });
  });
});



(SingleUpload.ashx 页)


namespace SingleUpload
{
  /// <summary>
  /// AJAX单文件上传页
  /// </summary>
  public class SingleUpload : IHttpHandler, IRequiresSessionState
  {

  public void ProcessRequest(HttpContext context)
  {
  //检查是否登录后上传操作
  if (context.Session["UserId"] == null)
  {
  context.Response.Write("{msg: 0, msbox: \"请登录后再进行上传文件!\"}");
  return;
  }
  HttpPostedFile _upfile = context.Request.Files["FileUpload"];
  string _delfile = context.Request.Params["txtImgUrl"];
  if (_upfile == null)
  {
  context.Response.Write("{msg: 0, msbox: \"请选择要上传文件!\"}");
  return;
  }
  UpLoad upFiles = new UpLoad();
  string msg = upFiles.fileSaveAs(_upfile, 0);
  //删除已存在的旧文件
  if (!string.IsNullOrEmpty(_delfile))
  {
  string _filename = HttpContext.Current.Server.MapPath(_delfile);
  if (File.Exists(_filename))
  {
  File.Delete(_filename);
  }
  }
  //返回成功信息
  context.Response.Write(msg);
  }

  public bool IsReusable


  {
  get
  {
  return false;
  }
  }
  }
}


[解决办法]
需要逻辑值0或非0值Macro argument. syntax error 宏参数语法错误. Macro expansion 
Syntax error
语句的语法与任何可识别的语法不匹配
jquery中语法有问题
[解决办法]
是偶尔出错还是一直出错?
这个调试应该可以跟踪到问题。
比较麻烦的话我觉得JQuery的有些上传控件可以使用,如Uploadify
[解决办法]
你检查下 url: "../../Tools/SingleUpload.ashx"路径对不对估计你这路径错了,不能找到SingleUpload.ashx这个文件,Tools如果在根目录下直接写/Tools/SingleUpload.ashx
[解决办法]

HTML code
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title>Uploadify</title>    <link href="JS/jquery.uploadify-v2.1.0/example/css/default.css"     rel="stylesheet" type="text/css" />    <link href="JS/jquery.uploadify-v2.1.0/uploadify.css"     rel="stylesheet" type="text/css" />    <script type="text/javascript"     src="JS/jquery.uploadify-v2.1.0/jquery-1.3.2.min.js"></script>    <script type="text/javascript"     src="JS/jquery.uploadify-v2.1.0/swfobject.js"></script>    <script type="text/javascript"   src="JS/jquery.uploadify-v2.1.0/jquery.uploadify.v2.1.0.min.js"></script>    <script type="text/javascript">        $(document).ready(function()        {            $("#uploadify").uploadify({                'uploader': 'JS/jquery.uploadify-v2.1.0/uploadify.swf',                'script': 'UploadHandler.ashx',                'cancelImg': 'JS/jquery.uploadify-v2.1.0/cancel.png',                'folder': 'UploadFile',                'queueID': 'fileQueue',                'auto': false,                'multi': true            });        });      </script></head><body>    <div id="fileQueue"></div>    <input type="file" name="uploadify" id="uploadify" />    <p>      <a href="javascript:$('#uploadify').uploadifyUpload()">上传</a>|       <a href="javascript:$('#uploadify').uploadifyClearQueue()">取消上传</a>    </p></body></html>
[解决办法]
探讨
谢谢, 我改过路径,你确定是加载那个文件有问题?如果是的话,我再好好研究一下那个文件我对jquery不是很了解。

引用:

你检查下 url: "../../Tools/SingleUpload.ashx"路径对不对估计你这路径错了,不能找到SingleUpload.ashx这个文件,Tools如果在根目录下直接写/Tools/SingleU……

[解决办法]
你写的js和代码写的是没问题的.应该是不能找到你那个url: "../../Tools/SingleUpload.ashx",刚写错了

热点排行