读书人

用jQuery Ajax 上传图片显示“上传失败

发布时间: 2012-04-28 11:49:53 作者: rapoo

求助:用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",刚写错了

读书人网 >asp.net

热点推荐