如何使用 jQuery ajax 返回图像?
var txtimg = new Image(); //img holder
$(txtimg).load(function () {
$("#div").append(this);
}).error(function () {
// notify the user that the image could not be loaded
alert('error loading text');
}).attr('src', webroot + '?drawtxt='+text.content);
上面的代码使用 jQuery load 加载图像。当 text.content 是普通字符时它有效。但是,当 text.content 包含 URL 中不允许的特殊字符(例如“&”)时,图像将无法加载字符,甚至编码为“%26”。
因此,我正在寻找一种使用ajax发送一些数据的方法,该方法允许使用特殊字符,同时也能够返回图像。
如果我使用$.ajax(),返回值可以包含二进制图像流吗?如果不是,还有什么其他方法可以使用特殊字符进行ajax调用并同时返回图像?
var txtimg = new Image(); //img holder
$(txtimg).load(function () {
$("#div").append(this);
}).error(function () {
// notify the user that the image could not be loaded
alert('error loading text');
}).attr('src', webroot + '?drawtxt='+text.content);
The above code loads an image using jQuery load. It works when text.content are normal characters. However, the image won't load when text.content contains special characters which are not permitted in the URL, such as '&' character, even encoded as '%26'.
Therefore, I'm looking for a way to send some data using ajax that permits the use of special characters, and at the same time is able to return the image as well.
If I use $.ajax(), can the return value contains the binary image stream? If no, what are other ways that can do an ajax call with special characters and return an image at the same time?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试
escape()
http://www.javascripter.net/faq/ escape.htm 或javascript urlencode()
http://phpjs. org/functions/urlencode:573希望这有帮助。
Try
escape()
http://www.javascripter.net/faq/escape.htm orjavascript urlencode()
http://phpjs.org/functions/urlencode:573Hope this helps.