如何使用 jQuery ajax 返回图像?

发布于 2024-10-27 14:21:56 字数 569 浏览 1 评论 0原文

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时光无声 2024-11-03 14:21:56

尝试 escape() http://www.javascripter.net/faq/ escape.htmjavascript urlencode() http://phpjs. org/functions/urlencode:573

希望这有帮助。

Try escape() http://www.javascripter.net/faq/escape.htm or javascript urlencode() http://phpjs.org/functions/urlencode:573

Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文