我有一张图片,我只是想显示另存为对话框,以便通过 jquery ajax 调用下载该图片。当有人点击按钮时,客户端代码运行,这里的代码如下
$("#btnSaveAsImage").click(function () {
if (_TrackNumber == '') {
alert('Track Number is not valid');
return;
}
var fname = _TrackNumber + '.gif';
var DTO = { FileName: fname };
jQuery.ajax({
type: "POST",
url: "UPSLabelFormUK.aspx/SaveAs",
data: JSON.stringify(DTO),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var retVal = data.d;
alert(retVal);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
return false;
});
这个客户端代码实际上调用了我的服务器端函数。服务器端功能看起来像
[WebMethod]
public static void SaveAs(string FileName)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.WriteFile(HttpContext.Current.Server.MapPath(@"~/UPS_New/LabelImages/" + FileName));
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();
}
当服务器端函数执行结束时,jsuey 会显示一条错误消息,如解析错误。我只是不明白为什么会出现错误以及为什么没有保存为对话框......任何想法请与我分享。谢谢