Проблемы с загрузкой изображений в AJAX и ASP - PullRequest
0 голосов
/ 04 марта 2011

Я работаю над производственным интерфейсом, и мне нужно загрузить несколько изображений. Я работаю в основном в jsp, но использую AJAX для запроса изображений.

Сам AJAX работает, если я создаю HTML-страницу с простым:

<div id='holding'><img id='myImage' src='images/image.png' alternate='check' width='64' height='64' /></div>

и запросите его через метод AJAX, изображение загружается и отображается нормально, устанавливая что-то inner.HTML в ответ. Я хочу иметь возможность динамически изменять исходный путь, поэтому в asp я создал:

    <%
        x=Request.QueryString("x")
        y=Request.QueryString("y")

        Response.Write("<div id='holding'><img id='myImage' src='"&x)
        Response.Write("'alternate='"&y"' width='64' height='64' /></div>")
%>

Теперь, когда я вызываю свой ajax со строкой запроса, я больше не загружаю свое изображение.

var src = 'images/image.png';
    var alt = 'check';
    var queryString = "?x="+src+"&y="+alt;

    xmlhttp.open("GET", url + queryString, true);
    xmlhttp.send();

Идеи

1 Ответ

0 голосов
/ 10 марта 2011

Я обнаружил проблему здесь.Помимо нескольких опечаток и синтаксических ошибок, здесь и там основной проблемой было то, что ASP не был установлен на сервере, к которому я обращался, мы используем много сценариев .asp, но все они связаны с другим сервером.

В частности, одна проблема, которая возникает на любом языке, заключается в том, что мой queryString содержит символ «/», который я не «экранировал».Это было заменено на «% 5c»

Так как моя работа в любом случае находится в JSP, я решил перестроить это, используя следующее: ниже приведен скрипт, который я использовал для загрузки своих изображений, сохраненный как .jsp и написанный вобычная Java, я вызываю это с помощью моего метода AJAX, и он прекрасно работает:

<%
String source = request.getParameter("src");
String alternate = request.getParameter("alt");
    out.println("<img border='0' src='"+source+"' alt='"+alternate+"' width='128' height='128' />");
%>
...